From d0b3316d964fb96d7835f4aa778d289000cec712 Mon Sep 17 00:00:00 2001 From: Bharath Chandra Elluru Date: Mon, 27 Apr 2020 14:00:11 -0700 Subject: [PATCH] Merge Android odk fuzz changes(Adding corpus) from http://go/wvgerrit/98692 Google3 CLs: http://cl/308666040 Bug: b/154264716 Test: Locally ran and built odk fuzz binaries and tested fuzzer binaries on pixel device Change-Id: Icdb81291e101a0abdb75f84008f701c06e7384d6 Change-Id: Iad573209b47bd450c843a7cab5570a76c012fce9 --- .../oemcrypto/odk/test/fuzzing/Android.bp | 18 ++-- .../602c63d2f3d13ca3206cdf204cde24e7d8f4266c | Bin .../8cebdcc0161125a10e19c45f055051712873de25 | Bin .../4e578d6c9628e832c099623b44f56d95aa37f94b | Bin .../5b693511ef850e42c5ffded171794dbeb9460cc0 | Bin .../b6b865b095697164ad032c2f695ed828f5754749 | 0 .../dba39b6cf6524e996397ddc1e08b928b5c92bb5d | Bin .../dd1bc1827a331b7aed2a6fb6740da032123aa0a8 | Bin .../53c26407b39c997143146a0dce8ff0ac11f565e1 | Bin .../fab3c99d604bab7b7bf5c54c5bd995fc98d4d96f | Bin .../91e10d030fbdd3374e57a2720f09488f2b03ce69 | Bin .../12a72efb395e731ec4470b5f5b6768d6806e9131 | Bin .../21de033b9baf2a0e82ae3b4185b22aa0acf69bbc | Bin .../97bf96be666434bfa93dbfb36b81baeefed14170 | Bin .../a7b0e7dca597331d7f051204096c9d01ba6d468e | Bin .../38df40a320f60e955006aaa294b74d45a316e50f | Bin .../9962997b5ea87005276319cbfff67884846485cf | Bin .../c84663115c890873dd585987c1223193d29aef16 | Bin .../test/fuzzing/corpus_generator/Android.bp | 27 ++++++ .../corpus_generator/odk_corpus_generator.c | 89 ++++++++---------- 20 files changed, 74 insertions(+), 60 deletions(-) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/license_request_corpus/602c63d2f3d13ca3206cdf204cde24e7d8f4266c (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/license_request_corpus/8cebdcc0161125a10e19c45f055051712873de25 (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/license_response_corpus/4e578d6c9628e832c099623b44f56d95aa37f94b (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/license_response_corpus/5b693511ef850e42c5ffded171794dbeb9460cc0 (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/license_response_corpus/b6b865b095697164ad032c2f695ed828f5754749 (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/license_response_corpus/dba39b6cf6524e996397ddc1e08b928b5c92bb5d (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/license_response_corpus/dd1bc1827a331b7aed2a6fb6740da032123aa0a8 (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/provisioning_request_corpus/53c26407b39c997143146a0dce8ff0ac11f565e1 (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/provisioning_request_corpus/fab3c99d604bab7b7bf5c54c5bd995fc98d4d96f (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/provisioning_response_corpus/91e10d030fbdd3374e57a2720f09488f2b03ce69 (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/renewal_request_corpus/12a72efb395e731ec4470b5f5b6768d6806e9131 (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/renewal_request_corpus/21de033b9baf2a0e82ae3b4185b22aa0acf69bbc (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/renewal_request_corpus/97bf96be666434bfa93dbfb36b81baeefed14170 (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/renewal_request_corpus/a7b0e7dca597331d7f051204096c9d01ba6d468e (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/renewal_response_corpus/38df40a320f60e955006aaa294b74d45a316e50f (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/renewal_response_corpus/9962997b5ea87005276319cbfff67884846485cf (100%) rename libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/{arm64 => little_endian_64bit}/renewal_response_corpus/c84663115c890873dd585987c1223193d29aef16 (100%) create mode 100644 libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/Android.bp diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/Android.bp b/libwvdrmengine/oemcrypto/odk/test/fuzzing/Android.bp index 13d6048b..23fae959 100644 --- a/libwvdrmengine/oemcrypto/odk/test/fuzzing/Android.bp +++ b/libwvdrmengine/oemcrypto/odk/test/fuzzing/Android.bp @@ -22,7 +22,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/license_request_corpus/*"], + corpus: ["corpus/little_endian_64bit/license_request_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", @@ -39,7 +39,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/renewal_request_corpus/*"], + corpus: ["corpus/little_endian_64bit/renewal_request_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", @@ -56,7 +56,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/provisioning_request_corpus/*"], + corpus: ["corpus/little_endian_64bit/provisioning_request_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", @@ -73,7 +73,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/license_response_corpus/*"], + corpus: ["corpus/little_endian_64bit/license_response_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", @@ -90,7 +90,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/renewal_response_corpus/*"], + corpus: ["corpus/little_endian_64bit/renewal_response_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", @@ -107,7 +107,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/provisioning_response_corpus/*"], + corpus: ["corpus/little_endian_64bit/provisioning_response_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", @@ -124,7 +124,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/license_response_corpus/*"], + corpus: ["corpus/little_endian_64bit/license_response_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", @@ -141,7 +141,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/renewal_response_corpus/*"], + corpus: ["corpus/little_endian_64bit/renewal_response_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", @@ -158,7 +158,7 @@ cc_fuzz { fuzz_config: { componentid: 425099, }, - corpus: ["corpus/arm64/provisioning_response_corpus/*"], + corpus: ["corpus/little_endian_64bit/provisioning_response_corpus/*"], static_libs: [ "libwv_kdo", "libwv_odk", diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_request_corpus/602c63d2f3d13ca3206cdf204cde24e7d8f4266c b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_request_corpus/602c63d2f3d13ca3206cdf204cde24e7d8f4266c similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_request_corpus/602c63d2f3d13ca3206cdf204cde24e7d8f4266c rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_request_corpus/602c63d2f3d13ca3206cdf204cde24e7d8f4266c diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_request_corpus/8cebdcc0161125a10e19c45f055051712873de25 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_request_corpus/8cebdcc0161125a10e19c45f055051712873de25 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_request_corpus/8cebdcc0161125a10e19c45f055051712873de25 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_request_corpus/8cebdcc0161125a10e19c45f055051712873de25 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/4e578d6c9628e832c099623b44f56d95aa37f94b b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/4e578d6c9628e832c099623b44f56d95aa37f94b similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/4e578d6c9628e832c099623b44f56d95aa37f94b rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/4e578d6c9628e832c099623b44f56d95aa37f94b diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/5b693511ef850e42c5ffded171794dbeb9460cc0 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/5b693511ef850e42c5ffded171794dbeb9460cc0 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/5b693511ef850e42c5ffded171794dbeb9460cc0 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/5b693511ef850e42c5ffded171794dbeb9460cc0 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/b6b865b095697164ad032c2f695ed828f5754749 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/b6b865b095697164ad032c2f695ed828f5754749 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/b6b865b095697164ad032c2f695ed828f5754749 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/b6b865b095697164ad032c2f695ed828f5754749 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/dba39b6cf6524e996397ddc1e08b928b5c92bb5d b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/dba39b6cf6524e996397ddc1e08b928b5c92bb5d similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/dba39b6cf6524e996397ddc1e08b928b5c92bb5d rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/dba39b6cf6524e996397ddc1e08b928b5c92bb5d diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/dd1bc1827a331b7aed2a6fb6740da032123aa0a8 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/dd1bc1827a331b7aed2a6fb6740da032123aa0a8 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/license_response_corpus/dd1bc1827a331b7aed2a6fb6740da032123aa0a8 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/license_response_corpus/dd1bc1827a331b7aed2a6fb6740da032123aa0a8 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/provisioning_request_corpus/53c26407b39c997143146a0dce8ff0ac11f565e1 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/provisioning_request_corpus/53c26407b39c997143146a0dce8ff0ac11f565e1 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/provisioning_request_corpus/53c26407b39c997143146a0dce8ff0ac11f565e1 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/provisioning_request_corpus/53c26407b39c997143146a0dce8ff0ac11f565e1 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/provisioning_request_corpus/fab3c99d604bab7b7bf5c54c5bd995fc98d4d96f b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/provisioning_request_corpus/fab3c99d604bab7b7bf5c54c5bd995fc98d4d96f similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/provisioning_request_corpus/fab3c99d604bab7b7bf5c54c5bd995fc98d4d96f rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/provisioning_request_corpus/fab3c99d604bab7b7bf5c54c5bd995fc98d4d96f diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/provisioning_response_corpus/91e10d030fbdd3374e57a2720f09488f2b03ce69 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/provisioning_response_corpus/91e10d030fbdd3374e57a2720f09488f2b03ce69 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/provisioning_response_corpus/91e10d030fbdd3374e57a2720f09488f2b03ce69 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/provisioning_response_corpus/91e10d030fbdd3374e57a2720f09488f2b03ce69 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_request_corpus/12a72efb395e731ec4470b5f5b6768d6806e9131 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_request_corpus/12a72efb395e731ec4470b5f5b6768d6806e9131 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_request_corpus/12a72efb395e731ec4470b5f5b6768d6806e9131 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_request_corpus/12a72efb395e731ec4470b5f5b6768d6806e9131 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_request_corpus/21de033b9baf2a0e82ae3b4185b22aa0acf69bbc b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_request_corpus/21de033b9baf2a0e82ae3b4185b22aa0acf69bbc similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_request_corpus/21de033b9baf2a0e82ae3b4185b22aa0acf69bbc rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_request_corpus/21de033b9baf2a0e82ae3b4185b22aa0acf69bbc diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_request_corpus/97bf96be666434bfa93dbfb36b81baeefed14170 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_request_corpus/97bf96be666434bfa93dbfb36b81baeefed14170 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_request_corpus/97bf96be666434bfa93dbfb36b81baeefed14170 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_request_corpus/97bf96be666434bfa93dbfb36b81baeefed14170 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_request_corpus/a7b0e7dca597331d7f051204096c9d01ba6d468e b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_request_corpus/a7b0e7dca597331d7f051204096c9d01ba6d468e similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_request_corpus/a7b0e7dca597331d7f051204096c9d01ba6d468e rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_request_corpus/a7b0e7dca597331d7f051204096c9d01ba6d468e diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_response_corpus/38df40a320f60e955006aaa294b74d45a316e50f b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_response_corpus/38df40a320f60e955006aaa294b74d45a316e50f similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_response_corpus/38df40a320f60e955006aaa294b74d45a316e50f rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_response_corpus/38df40a320f60e955006aaa294b74d45a316e50f diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_response_corpus/9962997b5ea87005276319cbfff67884846485cf b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_response_corpus/9962997b5ea87005276319cbfff67884846485cf similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_response_corpus/9962997b5ea87005276319cbfff67884846485cf rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_response_corpus/9962997b5ea87005276319cbfff67884846485cf diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_response_corpus/c84663115c890873dd585987c1223193d29aef16 b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_response_corpus/c84663115c890873dd585987c1223193d29aef16 similarity index 100% rename from libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/arm64/renewal_response_corpus/c84663115c890873dd585987c1223193d29aef16 rename to libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus/little_endian_64bit/renewal_response_corpus/c84663115c890873dd585987c1223193d29aef16 diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/Android.bp b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/Android.bp new file mode 100644 index 00000000..e9939711 --- /dev/null +++ b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/Android.bp @@ -0,0 +1,27 @@ +// Copyright 2020 Google LLC. All rights reserved. This file and proprietary +// source code may only be used and distributed under the Widevine Master +// License Agreement. + +// ---------------------------------------------------------------- +// Builds odk_corpus_generator shared library, which can be used with +// LD_PRELOAD command to generate corpus by intercepting oemcrypto +// unit tests. +// ---------------------------------------------------------------- +// Builds libwv_odk.so, The ODK shared Library (libwv_odk) is used +// by the OEMCrypto unit tests to generate corpus for ODK fuzz scrips. +cc_library_shared { + name: "libwv_odk_corpus_generator", + include_dirs: [ + "vendor/widevine/libwvdrmengine/oemcrypto/include", + "vendor/widevine/libwvdrmengine/oemcrypto/odk/include", + "vendor/widevine/libwvdrmengine/oemcrypto/odk/test", + ], + host_ldlibs: ["-ldl"], + srcs: [ + "odk_corpus_generator.c", + "odk_corpus_generator_helper.c", + ], + proprietary: true, + + owner: "widevine", +} diff --git a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/odk_corpus_generator.c b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/odk_corpus_generator.c index bf33b710..5b36d89a 100644 --- a/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/odk_corpus_generator.c +++ b/libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/odk_corpus_generator.c @@ -7,7 +7,6 @@ #include -#include "OEMCryptoCENCCommon.h" #include "fuzzing/corpus_generator/odk_corpus_generator_helper.h" #include "fuzzing/odk_fuzz_structs.h" #include "odk_structs.h" @@ -20,13 +19,11 @@ OEMCryptoResult ODK_PrepareCoreLicenseRequest( original_function = dlsym(RTLD_NEXT, "ODK_PrepareCoreLicenseRequest"); OEMCryptoResult oem_crypto_result = (*original_function)( message, message_length, core_message_length, nonce_values); - if (OEMCrypto_SUCCESS == oem_crypto_result) { - char* file_name = GetFileName("license_request_corpus"); + char* file_name = GetFileName("license_request_corpus"); - /* License Request format expected by fuzzer - [Core License Request] */ - AppendToFile(file_name, (const char*)message, *core_message_length); - free(file_name); - } + /* License Request format expected by fuzzer - [Core License Request] */ + AppendToFile(file_name, (const char*)message, *core_message_length); + free(file_name); return oem_crypto_result; } @@ -51,17 +48,15 @@ OEMCryptoResult ODK_ParseLicense( message, message_length, core_message_length, initial_license_load, usage_entry_present, request_hash, timer_limits, clock_values, nonce_values, parsed_license); - if (OEMCrypto_SUCCESS == oem_crypto_result) { - char* file_name = GetFileName("license_response_corpus"); + char* file_name = GetFileName("license_response_corpus"); - /* License Response format expected by fuzzer - [ODK_ParseLicense_Args][Core - */ - /* License Response] */ - AppendToFile(file_name, (const char*)&parse_license_args, - sizeof(struct ODK_ParseLicense_Args)); - AppendToFile(file_name, (const char*)message, core_message_length); - free(file_name); - } + /* License Response format expected by fuzzer - [ODK_ParseLicense_Args][Core + */ + /* License Response] */ + AppendToFile(file_name, (const char*)&parse_license_args, + sizeof(struct ODK_ParseLicense_Args)); + AppendToFile(file_name, (const char*)message, core_message_length); + free(file_name); return oem_crypto_result; } @@ -77,15 +72,13 @@ OEMCryptoResult ODK_PrepareCoreRenewalRequest(uint8_t* message, OEMCryptoResult oem_crypto_result = (*original_function)(message, message_length, core_message_size, nonce_values, clock_values, system_time_seconds); - if (OEMCrypto_SUCCESS == oem_crypto_result) { - char* file_name = GetFileName("renewal_request_corpus"); + char* file_name = GetFileName("renewal_request_corpus"); - /* License Request format expected by fuzzer - [ODK_ClockValues][Core */ - /* License Request] */ - AppendToFile(file_name, (const char*)clock_values, sizeof(ODK_ClockValues)); - AppendToFile(file_name, (const char*)message, *core_message_size); - free(file_name); - } + /* License Request format expected by fuzzer - [ODK_ClockValues][Core */ + /* License Request] */ + AppendToFile(file_name, (const char*)clock_values, sizeof(ODK_ClockValues)); + AppendToFile(file_name, (const char*)message, *core_message_size); + free(file_name); return oem_crypto_result; } @@ -108,17 +101,15 @@ OEMCryptoResult ODK_ParseRenewal(const uint8_t* message, size_t message_length, OEMCryptoResult oem_crypto_result = (*original_function)( message, message_length, core_message_length, nonce_values, system_time, timer_limits, clock_values, timer_value); - if (OEMCrypto_SUCCESS == oem_crypto_result) { - char* file_name = GetFileName("renewal_response_corpus"); + char* file_name = GetFileName("renewal_response_corpus"); - /* Renewal Response format expected by fuzzer - [ODK_ParseRenewal_Args][Core - */ - /* Renewal Response] */ - AppendToFile(file_name, (const char*)&parse_renewal_args, - sizeof(struct ODK_ParseRenewal_Args)); - AppendToFile(file_name, (const char*)message, core_message_length); - free(file_name); - } + /* Renewal Response format expected by fuzzer - [ODK_ParseRenewal_Args][Core + */ + /* Renewal Response] */ + AppendToFile(file_name, (const char*)&parse_renewal_args, + sizeof(struct ODK_ParseRenewal_Args)); + AppendToFile(file_name, (const char*)message, core_message_length); + free(file_name); return oem_crypto_result; } @@ -133,14 +124,12 @@ OEMCryptoResult ODK_PrepareCoreProvisioningRequest( OEMCryptoResult oem_crypto_result = (*original_function)(message, message_length, core_message_length, nonce_values, device_id, device_id_length); - if (OEMCrypto_SUCCESS == oem_crypto_result) { - char* file_name = GetFileName("provisioning_request_corpus"); + char* file_name = GetFileName("provisioning_request_corpus"); - /* Provisioning Request format expected by fuzzer - [Core Provisioning */ - /* Request] */ - AppendToFile(file_name, (const char*)message, *core_message_length); - free(file_name); - } + /* Provisioning Request format expected by fuzzer - [Core Provisioning */ + /* Request] */ + AppendToFile(file_name, (const char*)message, *core_message_length); + free(file_name); return oem_crypto_result; } @@ -159,15 +148,13 @@ OEMCryptoResult ODK_ParseProvisioning( OEMCryptoResult oem_crypto_result = (*original_function)( message, message_length, core_message_length, nonce_values, device_id, device_id_length, parsed_response); - if (OEMCrypto_SUCCESS == oem_crypto_result) { - char* file_name = GetFileName("provisioning_response_corpus"); + char* file_name = GetFileName("provisioning_response_corpus"); - /* Provisioning Response format expected by fuzzer - */ - /* [ODK_ParseProvisioning_Args][Core Provisioning Response] */ - AppendToFile(file_name, (const char*)&parse_provisioning_args, - sizeof(struct ODK_ParseProvisioning_Args)); - AppendToFile(file_name, (const char*)message, core_message_length); - free(file_name); - } + /* Provisioning Response format expected by fuzzer - */ + /* [ODK_ParseProvisioning_Args][Core Provisioning Response] */ + AppendToFile(file_name, (const char*)&parse_provisioning_args, + sizeof(struct ODK_ParseProvisioning_Args)); + AppendToFile(file_name, (const char*)message, core_message_length); + free(file_name); return oem_crypto_result; }