nfs-utils: Fix exportfs segfault on musl

(From OE-Core rev: c5c0342908ca81aacfe3cba1427fa77751bed53b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2018-12-01 10:12:54 -08:00
committed by Richard Purdie
parent b5ff76a701
commit e792fdbfb9
2 changed files with 33 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
From 4f115fc314646500f7b4178d7248a02654c7cd10 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 30 Nov 2018 16:47:57 -0800
Subject: [PATCH] Do not pass null pointer to freeaddrinfo()
Passing null pointer as input parameter to freeaddrinfo() is undefined
behaviour, some libcs e.g. glibc might just call free() which does
accept null pointer but other libcs e.g. musl might not and instead
cause the program to segfault. Therefore do not rely on undefined
behaviour instead make it deterministic
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
support/export/client.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: nfs-utils-2.3.2/support/export/client.c
===================================================================
--- nfs-utils-2.3.2.orig/support/export/client.c
+++ nfs-utils-2.3.2/support/export/client.c
@@ -309,7 +309,8 @@ client_lookup(char *hname, int canonical
init_addrlist(clp, ai);
out:
- freeaddrinfo(ai);
+ if (ai)
+ freeaddrinfo(ai);
return clp;
}

View File

@@ -31,6 +31,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
file://bugfix-adjust-statd-service-name.patch \
file://nfs-utils-musl-limits.patch \
file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \
file://0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch \
"
SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"