From 2770b7eecd5f73c857ec76e5492e18dc33a4c1f9 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Thu, 9 May 2024 15:13:48 -0600 Subject: [PATCH] LibCore: Null-check struct addrinfo to avoid freeaddrinfo(NULL) On some C libraries, like NetBSD and musl-libc, this under-specified edge case results in a crash rather than silently ignoring the null pointer. --- Userland/Libraries/LibCore/System.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibCore/System.h b/Userland/Libraries/LibCore/System.h index fb74bae9926..24f1f072237 100644 --- a/Userland/Libraries/LibCore/System.h +++ b/Userland/Libraries/LibCore/System.h @@ -264,7 +264,11 @@ private: } struct AddrInfoDeleter { - void operator()(struct addrinfo* ptr) { ::freeaddrinfo(ptr); } + void operator()(struct addrinfo* ptr) + { + if (ptr) + ::freeaddrinfo(ptr); + } }; Vector m_addresses {};