mirror of
https://github.com/webmproject/libwebp.git
synced 2025-09-02 09:12:15 +02:00
Apply "default unsafe" annotation across webputils
Import bounds_safety.h across all of webputils, with one exception being dsp.h, since it's imported by webputils.h in one place. Also prepend WEBP_ASSUME_UNSAFE_INDEXABLE_ABI to every webputil file to indicate to the compiler that every pointer should be treated as __unsafe_indexable. We also need to replace memcpy/memset/memmove with the unsafe variants WEBP_UNSAFE_*, as memcpy/memset/memmove require bounded/sized pointers. With this change, all of libwebputils (and libwebp) should build with -DWEBP_ENABLE_FBOUNDS_SAFETY=true Change-Id: Iad87be0455182d534c074ef6dc1a30fa66b74b6c
This commit is contained in:
@@ -21,10 +21,13 @@
|
||||
#include "src/dsp/cpu.h"
|
||||
#include "src/utils/bit_reader_inl_utils.h"
|
||||
#include "src/utils/bit_reader_utils.h"
|
||||
#include "src/utils/bounds_safety.h"
|
||||
#include "src/utils/endian_inl_utils.h"
|
||||
#include "src/utils/utils.h"
|
||||
#include "src/webp/types.h"
|
||||
|
||||
WEBP_ASSUME_UNSAFE_INDEXABLE_ABI
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// VP8BitReader
|
||||
|
||||
@@ -258,7 +261,7 @@ static void PrintBitTraces(void) {
|
||||
void BitTrace(const struct VP8BitReader* const br, const char label[]) {
|
||||
int i, pos;
|
||||
if (!init_done) {
|
||||
memset(kLabels, 0, sizeof(kLabels));
|
||||
WEBP_UNSAFE_MEMSET(kLabels, 0, sizeof(kLabels));
|
||||
atexit(PrintBitTraces);
|
||||
buf_start = br->buf;
|
||||
init_done = 1;
|
||||
|
Reference in New Issue
Block a user