diff --git a/libwvdrmengine/oemcrypto/test/oec_session_util.cpp b/libwvdrmengine/oemcrypto/test/oec_session_util.cpp index 9ace0fc0..a323e8a6 100644 --- a/libwvdrmengine/oemcrypto/test/oec_session_util.cpp +++ b/libwvdrmengine/oemcrypto/test/oec_session_util.cpp @@ -749,9 +749,15 @@ void LicenseRoundTrip::FillCoreResponseSubstrings() { core_response_.key_array[i].key_data = FindSubstring(response_data_.keys[i].key_data, response_data_.keys[i].key_data_length); - core_response_.key_array[i].key_control_iv = - FindSubstring(response_data_.keys[i].control_iv, - sizeof(response_data_.keys[i].control_iv)); + if (core_request().api_major_version < kClearControlBlockAPIMajor || + (core_request().api_major_version == kClearControlBlockAPIMajor && + core_request().api_minor_version < kClearControlBlockAPIMinor)) { + core_response_.key_array[i].key_control_iv = + FindSubstring(response_data_.keys[i].control_iv, + sizeof(response_data_.keys[i].control_iv)); + } else { + core_response_.key_array[i].key_control_iv = FindSubstring(nullptr, 0); + } core_response_.key_array[i].key_control = FindSubstring(&response_data_.keys[i].control, sizeof(response_data_.keys[i].control));