summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/fxcodec/codec/fx_codec_fax.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/fxcodec/codec/fx_codec_fax.cpp b/core/fxcodec/codec/fx_codec_fax.cpp
index 8c4b215a1b..09d0ebc157 100644
--- a/core/fxcodec/codec/fx_codec_fax.cpp
+++ b/core/fxcodec/codec/fx_codec_fax.cpp
@@ -73,8 +73,11 @@ int FindBit(const uint8_t* data_buf, int max_pos, int start_pos, bool bit) {
// Try reading in bigger chunks in case there are long runs to be skipped.
static constexpr int kBulkReadSize = 8;
if (max_byte >= kBulkReadSize && byte_pos < max_byte - kBulkReadSize) {
- uint8_t skip_block[kBulkReadSize];
- memset(skip_block, skip, kBulkReadSize);
+ static constexpr uint8_t skip_block_0[kBulkReadSize] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ static constexpr uint8_t skip_block_1[kBulkReadSize] = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+ const uint8_t* skip_block = bit ? skip_block_0 : skip_block_1;
while (byte_pos < max_byte - kBulkReadSize &&
memcmp(data_buf + byte_pos, skip_block, kBulkReadSize) == 0) {
byte_pos += kBulkReadSize;