Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe60632e authored by Branden Archer's avatar Branden Archer Committed by Gerrit Code Review
Browse files

Merge changes Ic547e18b,I7b0f6b70

* changes:
  Enable serialization_fuzzer to be built for the host
  Move serialize/deserialize fuzzing to separate function
parents fa05b521 61c56e86
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
cc_library_headers {
    name: "libpdx_headers",
    host_supported: true,
    export_include_dirs: ["private"],
    vendor_available: true,
    min_sdk_version: "29",
@@ -7,6 +8,7 @@ cc_library_headers {

cc_library_static {
    name: "libpdx",
    host_supported: true,
    clang: true,
    cflags: [
        "-Wall",
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ cc_fuzz {

cc_fuzz {
    name: "libpdx_serialization_fuzzer",
    host_supported: true,
    clang: true,
    srcs: [
        "serialization_fuzzer.cpp",
+5 −1
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ struct FuzzType {

// Fuzzer for Serialization operations, this is mostly just lifted from the
// existing test cases to use fuzzed values as inputs.
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
void FuzzSerializeDeserialize(const uint8_t* data, size_t size) {
  FuzzedDataProvider fdp = FuzzedDataProvider(data, size);
  Payload result;

@@ -106,6 +106,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
  Deserialize(&vec_val, &result);
  Serialize(t1_val, &result);
  Deserialize(&t1_val, &result);
}

extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
  FuzzSerializeDeserialize(data, size);

  return 0;
}