diff options
-rw-r--r-- | core/fxcodec/codec/fx_codec_fax.cpp | 7 |
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; |