[SLOF] [PATCH v2 08/11] libc: Check for NULL pointers in free()

Thomas Huth thuth at redhat.com
Sat May 19 01:45:37 AEST 2018


POSIX says that the free() function should simply do nothing if a NULL
pointer argument has been specified. So let's be a little bit more
compliant in our libc and add a NULL pointer check here, too.

Reviewed-by: Greg Kurz <groug at kaod.org>
Signed-off-by: Thomas Huth <thuth at redhat.com>
---
 lib/libc/stdlib/free.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/libc/stdlib/free.c b/lib/libc/stdlib/free.c
index 9005450..d276585 100644
--- a/lib/libc/stdlib/free.c
+++ b/lib/libc/stdlib/free.c
@@ -19,8 +19,10 @@ free(void *ptr)
 {
 	struct chunk *header;
 
+	if (!ptr)
+		return;
+
 	header = (struct chunk *) ptr;
 	header--;
 	header->inuse = 0;
-
 }
-- 
1.8.3.1



More information about the SLOF mailing list