diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/043170680cfcfff82b302f215a249f3b5dcafef4 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/043170680cfcfff82b302f215a249f3b5dcafef4 new file mode 100644 index 00000000..40f7308c Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/043170680cfcfff82b302f215a249f3b5dcafef4 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/07d8092ab06df623ae6fee5cdc8c980ba5fd7632 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/07d8092ab06df623ae6fee5cdc8c980ba5fd7632 new file mode 100644 index 00000000..75ecfd60 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/07d8092ab06df623ae6fee5cdc8c980ba5fd7632 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/122d1a11960c26756abee35e8e00f651ab83826b b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/122d1a11960c26756abee35e8e00f651ab83826b new file mode 100644 index 00000000..a50f5652 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/122d1a11960c26756abee35e8e00f651ab83826b differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/30a1c909b57f87d05eebacde8cbf06fe0edb1388 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/30a1c909b57f87d05eebacde8cbf06fe0edb1388 new file mode 100644 index 00000000..75c873c1 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/30a1c909b57f87d05eebacde8cbf06fe0edb1388 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/3248805594a4813b92c50318c7796358bf4c72aa b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/3248805594a4813b92c50318c7796358bf4c72aa new file mode 100644 index 00000000..3bf0fb6c Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/3248805594a4813b92c50318c7796358bf4c72aa differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/4c4b8424a2c6bee6e9dc90ff7a6a15fbac31b237 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/4c4b8424a2c6bee6e9dc90ff7a6a15fbac31b237 new file mode 100644 index 00000000..baadceb0 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/4c4b8424a2c6bee6e9dc90ff7a6a15fbac31b237 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/4f0a52f6a1d4c7115eb75a4ee2da63899ce546f2 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/4f0a52f6a1d4c7115eb75a4ee2da63899ce546f2 new file mode 100644 index 00000000..0cb574d0 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/4f0a52f6a1d4c7115eb75a4ee2da63899ce546f2 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/5439302b2dcb50225ff9eed132532f2ebdd1ffdf b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/5439302b2dcb50225ff9eed132532f2ebdd1ffdf new file mode 100644 index 00000000..7791234e Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/5439302b2dcb50225ff9eed132532f2ebdd1ffdf differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/66cd8fa5bfcf0d6286c9879cbc4110d1db64413b b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/66cd8fa5bfcf0d6286c9879cbc4110d1db64413b new file mode 100644 index 00000000..b2c66bc4 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/66cd8fa5bfcf0d6286c9879cbc4110d1db64413b differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/6f8b954fb7f8be2c3632f931aaf55e3d1a6c58d8 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/6f8b954fb7f8be2c3632f931aaf55e3d1a6c58d8 deleted file mode 100644 index baf0a05c..00000000 Binary files a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/6f8b954fb7f8be2c3632f931aaf55e3d1a6c58d8 and /dev/null differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/70dc0d37f73f8aa50ca695b4f54e16ec694bed37 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/70dc0d37f73f8aa50ca695b4f54e16ec694bed37 new file mode 100644 index 00000000..4919d3e9 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/70dc0d37f73f8aa50ca695b4f54e16ec694bed37 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/7997b5673d5a9402b2f8acc43f92cdf6ad1f913d b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/7997b5673d5a9402b2f8acc43f92cdf6ad1f913d deleted file mode 100644 index 4e600526..00000000 Binary files a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/7997b5673d5a9402b2f8acc43f92cdf6ad1f913d and /dev/null differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/8196b2365ca56224853dfeeddde216b4f467f0dd b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/8196b2365ca56224853dfeeddde216b4f467f0dd deleted file mode 100644 index 639ab6a0..00000000 Binary files a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/8196b2365ca56224853dfeeddde216b4f467f0dd and /dev/null differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/81ac6d013d80da7f67fe6fbb5e8c15a35a0d8134 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/81ac6d013d80da7f67fe6fbb5e8c15a35a0d8134 deleted file mode 100644 index 16a14bc7..00000000 Binary files a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/81ac6d013d80da7f67fe6fbb5e8c15a35a0d8134 and /dev/null differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/adc436cfb531505ef07ebfe262cbde69d33a1719 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/adc436cfb531505ef07ebfe262cbde69d33a1719 new file mode 100644 index 00000000..23877f24 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/adc436cfb531505ef07ebfe262cbde69d33a1719 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/da6321d50123e1d0ed6352454d69ec4dbf7117ca b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/da6321d50123e1d0ed6352454d69ec4dbf7117ca new file mode 100644 index 00000000..85a209c0 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/da6321d50123e1d0ed6352454d69ec4dbf7117ca differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/e59c6ea9ea826b971d264afa117084272fe3b58c b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/e59c6ea9ea826b971d264afa117084272fe3b58c new file mode 100644 index 00000000..e7144919 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/e59c6ea9ea826b971d264afa117084272fe3b58c differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/e97d00e4e1fa9804afd6f54dfe6f9b51d3245ac3 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/e97d00e4e1fa9804afd6f54dfe6f9b51d3245ac3 new file mode 100644 index 00000000..29a473b2 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/e97d00e4e1fa9804afd6f54dfe6f9b51d3245ac3 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/f82a9473b78b5126bb5676a3437417e3324d9b91 b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/f82a9473b78b5126bb5676a3437417e3324d9b91 new file mode 100644 index 00000000..e8bd6793 Binary files /dev/null and b/libwvdrmengine/oemcrypto/test/fuzz_tests/corpus/oemcrypto_load_entitled_content_keys_fuzz_seed_corpus/f82a9473b78b5126bb5676a3437417e3324d9b91 differ diff --git a/libwvdrmengine/oemcrypto/test/fuzz_tests/oemcrypto_load_entitled_content_keys_fuzz.cc b/libwvdrmengine/oemcrypto/test/fuzz_tests/oemcrypto_load_entitled_content_keys_fuzz.cc index fcc53a0a..c01c532c 100644 --- a/libwvdrmengine/oemcrypto/test/fuzz_tests/oemcrypto_load_entitled_content_keys_fuzz.cc +++ b/libwvdrmengine/oemcrypto/test/fuzz_tests/oemcrypto_load_entitled_content_keys_fuzz.cc @@ -20,6 +20,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { return 0; } + const std::vector message(inputs[0].data, + inputs[0].data + inputs[0].size); + // Copy data to OEMCrypto_EntitledContentKeyObject array. std::vector entitled_content_keys( inputs[1].size / sizeof(OEMCrypto_EntitledContentKeyObject)); @@ -29,18 +32,23 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { sizeof(OEMCrypto_EntitledContentKeyObject)); } + // Load default entitlement license. OEMCryptoLicenseAPIFuzz license_api_fuzz; - // Setting up state. Load default entitlement license to load entitlement - // keys into sessions key table. license_api_fuzz.license_messages().set_license_type( OEMCrypto_EntitlementLicense); license_api_fuzz.LoadLicense(); + + // Create entitled key session. + OEMCrypto_SESSION key_session; + const OEMCryptoResult result = OEMCrypto_CreateEntitledKeySession( + license_api_fuzz.session()->session_id(), &key_session); + CheckStatusAndExitFuzzerOnFailure(result, OEMCrypto_SUCCESS); + // Call OEMCrypto_LoadEntitledContentKeys with fuzzed buffers. - const std::vector message(inputs[0].data, - inputs[0].data + inputs[0].size); - OEMCrypto_LoadEntitledContentKeys( - license_api_fuzz.session()->session_id(), message.data(), message.size(), - entitled_content_keys.size(), entitled_content_keys.data()); + OEMCrypto_LoadEntitledContentKeys(key_session, message.data(), message.size(), + entitled_content_keys.size(), + entitled_content_keys.data()); + return 0; }