* include/freetype/internal/ftmemory.h (FT_OFFSET): New macro.
Use this for `base + offset' pointer calculations where `base' can be NULL (triggering a sanitizer warning even if the resulting pointer gets never dereferenced since it is undefined behaviour in C). Suggested by Ben Wagner.
This commit is contained in:
parent
9b0179597e
commit
26d0f579c0
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2019-11-23 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* include/freetype/internal/ftmemory.h (FT_OFFSET): New macro.
|
||||
|
||||
Use this for `base + offset' pointer calculations where `base' can
|
||||
be NULL (triggering a sanitizer warning even if the resulting
|
||||
pointer gets never dereferenced since it is undefined behaviour
|
||||
in C).
|
||||
|
||||
Suggested by Ben Wagner.
|
||||
|
||||
2019-11-23 Ben Wagner <bungeman@google.com>
|
||||
|
||||
[sfnt] Ensure OTTO fonts have tables (#57285).
|
||||
|
|
|
@ -57,6 +57,14 @@ FT_BEGIN_HEADER
|
|||
/*************************************************************************/
|
||||
|
||||
|
||||
/* The calculation `NULL + n' is undefined in C. Even if the resulting */
|
||||
/* pointer doesn't get dereferenced, this causes warnings with */
|
||||
/* sanitizers. */
|
||||
/* */
|
||||
/* We thus provide a macro that should be used if `base' can be NULL. */
|
||||
#define FT_OFFSET( base, count ) ( (base) ? (base) + (count) : NULL )
|
||||
|
||||
|
||||
/*
|
||||
* C++ refuses to handle statements like p = (void*)anything, with `p' a
|
||||
* typed pointer. Since we don't have a `typeof' operator in standard C++,
|
||||
|
|
Loading…
Reference in New Issue