libc: Check for NULL pointers in free()

Message ID 1526551233-11438-1-git-send-email-thuth@redhat.com
State Superseded
Headers show
Series
  • libc: Check for NULL pointers in free()
Related show

Commit Message

Thomas Huth May 17, 2018, 10 a.m.
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.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 lib/libc/stdlib/free.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Patch

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;
-
 }