Alejandro Colomar
afc4b574b7
lib/alloc/realloc*.h: Always reallocate at least 1 byte
...
glibc's realloc(3) is broken. It was originally good (I believe) until
at some point, when it was changed to conform to C89, which had a bogus
specification that required that it returns NULL. C99 fixed the mistake
from C89, and so glibc's realloc(3) is non-conforming to
C99/C11/POSIX.1-2008. C17 broke again the definition of realloc(3).
Link: <https://github.com/shadow-maint/shadow/pull/1095 >
Link: <https://nabijaczleweli.xyz/content/blogn_t/017-malloc0.html >
Link: <https://inbox.sourceware.org/libc-alpha/5gclfbrxfd7446gtwd2x2gfuquy7ukjdbrndphyfmfszxlft76@wwjz7spd4vd7/T/#t >
Co-developed-by: наб <nabijaczleweli@nabijaczleweli.xyz >
Signed-off-by: наб <nabijaczleweli@nabijaczleweli.xyz >
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com >
Acked-by: Paul Eggert <eggert@cs.ucla.edu >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-10-22 10:53:06 +02:00
Alejandro Colomar
12aa29b576
lib/alloc/realloc*.h: Rename macro parameter
...
This is in preparation for the following commit, which will need this
shorter parameter name to avoid breaking long lines.
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-10-22 10:53:06 +02:00
Alejandro Colomar
ba3a51e90f
lib/: Use [[gnu::alloc_size(...)]] on allocation functions
...
Suggested-by: Martin Uecker <uecker@tugraz.at >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-01 21:40:11 -05:00
Alejandro Colomar
3049bef9c3
lib/alloc/, lib/, src/, tests/: Organize the allocation APIs in a new subdirectory
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-01 21:40:11 -05:00