----------------------------------------------------------------------
Fix oemcrypto_generic_verify_fuzz mutator signature offset
[ Merge of http://go/wvgerrit/165899 ]
Merged from https://widevine-internal-review.googlesource.com/165598
Change-Id: I85574fcd62622d2954c306688e04ecfda333c0cb
----------------------------------------------------------------------
Fix regressions in oemcrypto_decrypt_cenc_fuzz
[ Merge of http://go/wvgerrit/162151 ]
Fix null-dereference of subsamples vector and potential memory leak due
to parsing errors.
Bug: 260005865
Bug: 260013015
Merged from https://widevine-internal-review.googlesource.com/162081
Change-Id: I91bf1baa726803b2a0073ff3db94e69719d377bb
----------------------------------------------------------------------
Add custom mutator to oemcrypto_generic_verify_fuzz
[ Merge of http://go/wvgerrit/161578 ]
Enable fuzzing mutations beyond changing the signature length.
Merged from https://widevine-internal-review.googlesource.com/159917
Change-Id: I022d752107b788bd45aafb8325e3186ef90336de
----------------------------------------------------------------------
Refactor oemcrypto_decrypt_cenc_fuzz
[ Merge of http://go/wvgerrit/161546 ]
Refactor to minimize the required corpus length, fuzz the sample input
data, and avoid undefined behavior related to filling
OEMCrypto_DestBufferDesc::buffer with fuzzed data.
Merged from https://widevine-internal-review.googlesource.com/159618
Change-Id: Id9af8b1704d4619ba88ab8de3adb35d5f8bb69f6
----------------------------------------------------------------------
Refactor oemcrypto_copy_buffer_fuzz
[ Merge of http://go/wvgerrit/161307 ]
Refactor to minimize the required corpus length, fuzz the output buffer
length, and avoid undefined behavior related to filling
OEMCrypto_DestBufferDesc::buffer with fuzzed data.
Merged from https://widevine-internal-review.googlesource.com/159617
Change-Id: Ieddc6260e5eca641f8409a9b361ca4e5a40d6f52
----------------------------------------------------------------------
Improve AddressSanitizer coverage for LoadEntitledContentKeys fuzzing
[ Merge of http://go/wvgerrit/161397 ]
Split fuzzed message into separate buffer so AddressSanitizer can detect
out-of-bounds accesses.
Merged from https://widevine-internal-review.googlesource.com/161277
----------------------------------------------------------------------
Avoid copying fuzzed data when separator splitting
[ Merge of http://go/wvgerrit/161120 ]
Merged from https://widevine-internal-review.googlesource.com/159497
Change-Id: I2b13ff34eee74c8aea9a8176aa711e3e2bc57add
----------------------------------------------------------------------
Fix oemcrypto_opk_dispatcher_fuzz
[ Merge of http://go/wvgerrit/161119 ]
Set ODK_Message size and add timestamp field to initialization requests.
Merged from https://widevine-internal-review.googlesource.com/159897
Change-Id: Ide51d1cb4119a396212d1802411cfa19f5792e9d
----------------------------------------------------------------------
Cover empty buffers in fuzz tests
[ Merge of http://go/wvgerrit/161018 ]
Update tests that avoid passing empty buffers to OEMCrypto API methods.
Merged from https://widevine-internal-review.googlesource.com/159317
Change-Id: If0d8007e3294820654b081fe813a09485e757f1c
----------------------------------------------------------------------
Fix cherry pick of "Improve buffer size distribution in fuzz tests"
[ Merge of http://go/wvgerrit/161022 ]
Change-Id: I8b0440fe13b513396b5779c25e6a46ac40eaa183
----------------------------------------------------------------------
Improve buffer size distribution in fuzz tests
[ Merge of http://go/wvgerrit/160957 ]
When a buffer size is fuzzed, use the modulo operation, instead of
std::min, to create an even distribution.
Merged from https://widevine-internal-review.googlesource.com/159157
Change-Id: I3c1168c7a7d739793005927a97af18de5df2e4c6
----------------------------------------------------------------------
Improve AddressSanitizer coverage in fuzz tests
[ Merge of http://go/wvgerrit/160464 ]
Split fuzzed data into separate buffers so AddressSanitizer can detect
all out-of-bounds accesses.
Merged from https://widevine-internal-review.googlesource.com/158977
Change-Id: I7ca67409b7c6f96548e21ab41f6caf99f738605d
Merge from Widevine repo of http://go/wvgerrit/159057
Increase fuzzing efficiency by generating the header_buffer_length
parameter from the input data and pre-creating a usage table header.
Test: tested with http://go/ag/20420224
Change-Id: Idab4c3d0ae879854202e5ffd24bf031b946aeb6a
Merge from Widevine repo of http://go/wvgerrit/158203
Prevent abort, interpreted as a crash by libFuzzer, when
OEMCrypto_CreateUsageTableHeader fails session state checks due to being
called after OEMCrypto_GenerateNonce.
Bug: 251215411
Test: tested with http://go/ag/20420224
Change-Id: I71ad1186ff2cb9ced81f9950d2fa235878aeb54d
Merge from Widevine repo of http://go/wvgerrit/158204
Prevent abort, interpreted as a crash by libFuzzer, when
OEMCrypto_CreateUsageTableHeader fails session state checks due to being
called after OEMCrypto_GenerateNonce.
Bug: 250682470
Test: tested with http://go/ag/20420224
Change-Id: Ia15b8c26fb391a190c32115e398a78ff9f8a7e16
[ Merge of http://go/wvgerrit/147110 ]
The OEMCrypto_DestBufferDesc had fields address/address_length renamed
to clear_buffer/clear_buffer_length in v17. However this was not updated
for the fuzz tests thus causing some code coverage errors. This should
fix those errors.
Merged from https://widevine-internal-review.googlesource.com/146889
Bug: 220946359, 220946990
Test: GtsMediaTestCases on sunfish
Change-Id: I2837de2f79c0e731d072e3712d6b769df17a1c7e
[ Merge of http://go/wvgerrit/144696 ]
In v17,
OEMCrypto_CipherMode_CTR renamed to OEMCrypto_CipherMode_CENC
OEMCrypto_CipherMode_CBC renamed to OEMCrypto_CipherMode_CBCS
Bug: 224375138
Test: GtsMediaTestCases on sunfish
Change-Id: I2d96e9c6d22a9d9e2fbbd15a8aea3f2d5dac6dcb
Merge from Widevine repo of http://go/wvgerrit/123803
Update fuzz build script to use gyp from third_party folder.
Test: ran fuzz tests on luci
bug: 186271314
bug: 184866351
Change-Id: If530872aa1e60d2108932610415aa5315979390c
Merge from Widevine repo of http://go/wvgerrit/121950
Remove term "Master" from "Widevine Master License Agreement".
Bug: 168562298
Change-Id: I655babf1bc447f4872f6a0f849107262be42df7a
Merge from Widevine repo of http://go/wvgerrit/121886
This CL merges some changes from branch rvc-dev to sc-dev
that prepared it for merge.
One change is that the unit tests now say they are part of
Android S instead of R.
Bug: 180546871
Change-Id: I2ebbd8f7b8586389ebb75f3743a2dc2ad8caa214
This is a cherry pick of recent changes to OEMCrypto and ODK. Most of
these are part of the document migration to doxygen.
See http://go/wvgerrit/106005 and its parents for code reviews.
Bug: 144715340
Bug: 148232693
Bug: 167580674
Change-Id: I658f99c8117b974faed97322d61fac0f382283af