diff options
author | Ayushi Khopkar <ayushi.khopkar@ittiam.com> | 2022-05-05 03:42:36 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-05-05 03:42:36 +0000 |
commit | ee5924a4e4929244ca798f1c7eb96732e6db5511 (patch) | |
tree | 8edf2d5a885f8df5f133a2670f85180db85c63fd | |
parent | 6ff818c653dc51f40a04f5207a23ec45ce3a67ea (diff) | |
parent | ff1871f4fd4f81250a5f47e7ec4ce2a0ca9a4f73 (diff) | |
download | libldac-ee5924a4e4929244ca798f1c7eb96732e6db5511.tar.gz |
libldac-encode_fuzzer: Bug Fix am: b0b2df3f09 am: 31aa7ddc23 am: a01f8664df am: b05903278d am: ff1871f4fd
Original change: https://android-review.googlesource.com/c/platform/external/libldac/+/2015996
Change-Id: Ie53450a8b901fc0091670c40426cd5e2702cb8a8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | fuzzer/libldac_encode_fuzzer.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/fuzzer/libldac_encode_fuzzer.cc b/fuzzer/libldac_encode_fuzzer.cc index 2f293f1..51d8729 100644 --- a/fuzzer/libldac_encode_fuzzer.cc +++ b/fuzzer/libldac_encode_fuzzer.cc @@ -6,7 +6,13 @@ #include <stddef.h> #include "ldacBT.h" +#include <string.h> +#include <vector> + #define TESTFUNC_TYPE extern "C" int +constexpr int32_t kMaxWlValue = 4; +constexpr int32_t kMaxChValue = 2; +constexpr int32_t kMaxFrameSize = LDACBT_ENC_LSU * kMaxWlValue * kMaxChValue; TESTFUNC_TYPE LLVMFuzzerTestOneInput(const uint8_t *buf, size_t size) @@ -27,10 +33,17 @@ LLVMFuzzerTestOneInput(const uint8_t *buf, size_t size) LDACBT_CHANNEL_MODE_DUAL_CHANNEL, LDACBT_SMPL_FMT_S16, 48000); + uint8_t *readPointer = const_cast<uint8_t *>(buf); + std::vector<uint8_t> tmpData(kMaxFrameSize); + + if (size < kMaxFrameSize) { + memcpy(tmpData.data(), buf, size); + readPointer = tmpData.data(); + } ldacBT_encode( hLdacBt, - (void *)(&buf + 44), + readPointer, &pcm_used, p_stream, &stream_sz, |