diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2021-05-20 02:54:35 +0100 |
---|---|---|
committer | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2021-05-20 03:01:05 +0100 |
commit | cee1b443b576d64bba2d9f87c14ce5f2b7175169 (patch) | |
tree | 9a31106439caae5e612609fd3c4f9b4acc140360 | |
parent | adfb0b99c220a188ad510cc9a81e486f51a667c5 (diff) |
wsutil: Add ws_assert_bounds()
-rw-r--r-- | epan/wmem/wmem_array.c | 2 | ||||
-rw-r--r-- | wsutil/ws_assert.h | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/epan/wmem/wmem_array.c b/epan/wmem/wmem_array.c index 1badfdd4bd..ced7e62f81 100644 --- a/epan/wmem/wmem_array.c +++ b/epan/wmem/wmem_array.c @@ -129,7 +129,7 @@ wmem_array_append(wmem_array_t *array, const void *in, guint count) void * wmem_array_index(wmem_array_t *array, guint array_index) { - ws_assert(array_index < array->elem_count); + ws_assert_bounds(array_index < array->elem_count); return &array->buf[array_index * array->elem_size]; } diff --git a/wsutil/ws_assert.h b/wsutil/ws_assert.h index 6c2373bf95..2ffa559617 100644 --- a/wsutil/ws_assert.h +++ b/wsutil/ws_assert.h @@ -43,4 +43,9 @@ WS_NORETURN void ws_assert_not_reached(void) { abort(); }; +/* ws_assert_bounds() is always enabled. For bounds check where the array + * size is known sometimes it's just not worth disabling assertions. + */ +#define ws_assert_bounds(expr) g_assert_true(expr) + #endif /* __WS_ASSERT_H__ */ |