| // SPDX-License-Identifier: (LGPL-2.0+ OR BSD-2-Clause) | |
| /* Copyright (C) 2018 Netronome Systems, Inc. */ | |
| #ifndef __TOOLS_LIBC_COMPAT_H | |
| #define __TOOLS_LIBC_COMPAT_H | |
| #include <stdlib.h> | |
| #include <linux/overflow.h> | |
| #ifdef COMPAT_NEED_REALLOCARRAY | |
| static inline void *reallocarray(void *ptr, size_t nmemb, size_t size) | |
| { | |
| size_t bytes; | |
| if (unlikely(check_mul_overflow(nmemb, size, &bytes))) | |
| return NULL; | |
| return realloc(ptr, bytes); | |
| } | |
| #endif | |
| #endif |