[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 <aleloi@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25364}diff --git a/test/fuzzers/audio_processing_configs_fuzzer.cc b/test/fuzzers/audio_processing_configs_fuzzer.cc
index 2980994..a88df8f 100644
--- a/test/fuzzers/audio_processing_configs_fuzzer.cc
+++ b/test/fuzzers/audio_processing_configs_fuzzer.cc
@@ -93,7 +93,8 @@
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<kNumFieldTrials> field_trial_bitmask(
fuzz_data->ReadOrDefaultValue<FieldTrialBitmaskType>(0));
for (size_t i = 0; i < kNumFieldTrials; ++i) {