json: add an assert_cc() check that validates _JSON_VARIANT_MAGIC_MAX
This commit is contained in:
parent
7e61bd0f67
commit
085f3d6416
|
@ -37,6 +37,11 @@ assert_cc(sizeof(JsonValue) == 16U);
|
|||
#define JSON_VARIANT_MAGIC_EMPTY_OBJECT ((JsonVariant*) 9)
|
||||
#define _JSON_VARIANT_MAGIC_MAX ((JsonVariant*) 10)
|
||||
|
||||
/* This is only safe as long as we don't define more than 4K magic pointers, i.e. the page size of the simplest
|
||||
* architectures we support. That's because we rely on the fact that malloc() will never allocate from the first memory
|
||||
* page, as it is a faulting page for catching NULL pointer dereferences. */
|
||||
assert_cc((uintptr_t) _JSON_VARIANT_MAGIC_MAX < 4096U);
|
||||
|
||||
enum { /* JSON tokens */
|
||||
JSON_TOKEN_END,
|
||||
JSON_TOKEN_COLON,
|
||||
|
|
Loading…
Reference in a new issue