From 9516c385386f01b6c61bfbcc03801e601a6016e7 Mon Sep 17 00:00:00 2001 From: Yves Gerey Date: Thu, 25 Oct 2018 14:26:07 +0200 Subject: [PATCH] [Fuzzer] Check FieldTrial bitmask size at compile time. Rather fail at compile time than at run-time. Bug: chromium:898373 Bug: webrtc:9855 Change-Id: Iaae81e04e4a8135814c1226f82d3a994de75e9ad Reviewed-on: https://webrtc-review.googlesource.com/c/107886 Reviewed-by: Alex Loiko Commit-Queue: Yves Gerey Cr-Commit-Position: refs/heads/master@{#25364} --- test/fuzzers/audio_processing_configs_fuzzer.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/fuzzers/audio_processing_configs_fuzzer.cc b/test/fuzzers/audio_processing_configs_fuzzer.cc index 2980994b92..a88df8ff07 100644 --- a/test/fuzzers/audio_processing_configs_fuzzer.cc +++ b/test/fuzzers/audio_processing_configs_fuzzer.cc @@ -93,7 +93,8 @@ std::unique_ptr CreateApm(test::FuzzDataHelper* fuzz_data, constexpr size_t kNumFieldTrials = arraysize(kFieldTrialNames); // Verify that the read data type has enough bits to fuzz the field trials. using FieldTrialBitmaskType = uint64_t; - RTC_DCHECK_LE(kNumFieldTrials, sizeof(FieldTrialBitmaskType) * 8); + static_assert(kNumFieldTrials <= sizeof(FieldTrialBitmaskType) * 8, + "FieldTrialBitmaskType is not large enough."); std::bitset field_trial_bitmask( fuzz_data->ReadOrDefaultValue(0)); for (size_t i = 0; i < kNumFieldTrials; ++i) {