diff options
author | Jakub Kicinski | 2018-07-10 23:43:05 +0200 |
---|---|---|
committer | Daniel Borkmann | 2018-07-11 22:13:34 +0200 |
commit | 531b014e7a2fedaeff0b19b2934d830cd4b35dc0 (patch) | |
tree | 0de8355e9d533b4f6f90c3b389f58c992e75bb14 /tools/build/feature/test-reallocarray.c | |
parent | tools: libbpf: move library error code into a separate file (diff) | |
download | kernel-qcow2-linux-531b014e7a2fedaeff0b19b2934d830cd4b35dc0.tar.gz kernel-qcow2-linux-531b014e7a2fedaeff0b19b2934d830cd4b35dc0.tar.xz kernel-qcow2-linux-531b014e7a2fedaeff0b19b2934d830cd4b35dc0.zip |
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 @@ +// SPDX-License-Identifier: GPL-2.0 +#define _GNU_SOURCE +#include <stdlib.h> + +int main(void) +{ + return !!reallocarray(NULL, 1, 1); +} |