It is said that the C17 realloc() behavior is to return the original pointer on error and that's what is implemented here. This may be confused with a successful realloc() and nobody else does that. Instead, a failed realloc() should return NULL, leave the original memory intact and set errno to ENOMEM. This is the behavior described by all the following references: Linux/glibc: https://man7.org/linux/man-pages/man3/malloc.3.html NetBSD https://man.netbsd.org/realloc.3 Microsoft https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/realloc Mac OS X https://developer.apple.com/library/archive/documentation/System/\ Conceptual/ManPages_iPhoneOS/man3/reallocf.3.html Open Group Base Specifications Issue 6 https://pubs.opengroup.org/onlinepubs/009604599/functions/realloc.html PTC MKS Toolkit https://www.mkssoftware.com/docs/man3/realloc.3.asp Let's get in line with the most common behavior. Signed-off-by: Nicolas Pitre <npitre@baylibre.com> |
||
|---|---|---|
| .. | ||
| cmsis_rtos_v1 | ||
| cmsis_rtos_v2 | ||
| fnmatch | ||
| gui | ||
| libc | ||
| open-amp | ||
| os | ||
| posix | ||
| CMakeLists.txt | ||
| Kconfig | ||