diff options
author | Biddu Singh <biddubhushan@google.com> | 2022-08-03 10:49:10 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-08-03 10:49:10 +0000 |
commit | 640221d0289af66715332c22c9c1d9d3ade9631a (patch) | |
tree | b94297fe7675c7aa9f591fe77b9d52307a518471 | |
parent | 44e215b5360cc80e7211333f1e3d1fff2ab6df08 (diff) | |
parent | d39700ba3411a42475885a691af4b3ec0695be87 (diff) | |
download | native-640221d0289af66715332c22c9c1d9d3ade9631a.tar.gz |
Merge "Added bittube_fuzzer Test: ./bittube_fuzzer" am: d39700ba34
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2158876
Change-Id: I35c983c3a1b833fb248ec677bec2ca2cdedc18cc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | libs/sensor/fuzz/bittube_fuzzer/Android.bp | 42 | ||||
-rw-r--r-- | libs/sensor/fuzz/bittube_fuzzer/bittube_fuzzer.cpp | 37 |
2 files changed, 79 insertions, 0 deletions
diff --git a/libs/sensor/fuzz/bittube_fuzzer/Android.bp b/libs/sensor/fuzz/bittube_fuzzer/Android.bp new file mode 100644 index 0000000000..5d8f4019a8 --- /dev/null +++ b/libs/sensor/fuzz/bittube_fuzzer/Android.bp @@ -0,0 +1,42 @@ +/****************************************************************************** + * + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ***************************************************************************** + */ +cc_fuzz { + name: "bittube_fuzzer", + srcs: [ + "bittube_fuzzer.cpp", + ], + static_libs: [ + ], + shared_libs: [ + "libsensor", + "libbinder", + "libcutils", + "libutils", + "liblog", + "libhardware", + "libpermission", + ], + export_shared_lib_headers: [ + "libbinder", + "libpermission", + "libhardware", + ], + header_libs: [ + ], +} diff --git a/libs/sensor/fuzz/bittube_fuzzer/bittube_fuzzer.cpp b/libs/sensor/fuzz/bittube_fuzzer/bittube_fuzzer.cpp new file mode 100644 index 0000000000..6f10a67ebd --- /dev/null +++ b/libs/sensor/fuzz/bittube_fuzzer/bittube_fuzzer.cpp @@ -0,0 +1,37 @@ +/****************************************************************************** + * + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ***************************************************************************** + */ +#include <fuzzer/FuzzedDataProvider.h> + +#include <sensor/BitTube.h> +#include <binder/Parcel.h> +using namespace android; + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + FuzzedDataProvider fdp(data, size); + BitTube bittube(size); + Parcel parcel[5]; + bittube.writeToParcel(parcel); + sp<BitTube> tube(new BitTube(size)); + bittube.sendObjects<uint8_t>(tube, data, size); + uint8_t recvData[size]; + for (int i = 0; i < size; i++) recvData[i] = fdp.ConsumeIntegral<uint8_t>(); + bittube.recvObjects<uint8_t>(tube, recvData, size); + + return 0; +} |