diff options
| author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2018-07-10 17:43:05 -0400 |
|---|---|---|
| committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-07-11 16:13:34 -0400 |
| commit | 531b014e7a2fedaeff0b19b2934d830cd4b35dc0 (patch) | |
| tree | 0de8355e9d533b4f6f90c3b389f58c992e75bb14 /tools/build/feature/test-reallocarray.c | |
| parent | 8d13406c02f9c38f106416e1dbe0e68059b9f59a (diff) | |
tools: bpf: make use of reallocarray
reallocarray() is a safer variant of realloc which checks for
multiplication overflow in case of array allocation. Since it's
not available in Glibc < 2.26 import kernel's overflow.h and
add a static inline implementation when needed. Use feature
detection to probe for existence of reallocarray.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Reviewed-by: Jiong Wang <jiong.wang@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/build/feature/test-reallocarray.c')
| -rw-r--r-- | tools/build/feature/test-reallocarray.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/build/feature/test-reallocarray.c b/tools/build/feature/test-reallocarray.c new file mode 100644 index 000000000000..8170de35150d --- /dev/null +++ b/tools/build/feature/test-reallocarray.c | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | // SPDX-License-Identifier: GPL-2.0 | ||
| 2 | #define _GNU_SOURCE | ||
| 3 | #include <stdlib.h> | ||
| 4 | |||
| 5 | int main(void) | ||
| 6 | { | ||
| 7 | return !!reallocarray(NULL, 1, 1); | ||
| 8 | } | ||
