From: Andrei Gherzan <[email protected]>

getcwd() conforms to POSIX.1-2001 which leaves the behaviour when the
buf argument is NULL, undefined. This makes gcc 10+ throw the following
warning:

argument 1 is null but the corresponding size argument 2 value is 4096

Initially, this was fixed by disabling NSS_ENABLE_WERROR. This patch
re-enables NSS_ENABLE_WERROR (by leaving it to its default value) and
takes advantage of the existing functionality in nss that wraps the
getcwd call into a function making sure that the buf argument is always
properly allocated.

Signed-off-by: Andrei Gherzan <[email protected]>
Signed-off-by: Khem Raj <[email protected]>
(cherry picked from commit dad2aef6be76564103952e0ad78a7d666b49f72e)
Signed-off-by: Armin Kuster <[email protected]>
---
 meta-oe/recipes-support/nss/nss_3.57.bb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta-oe/recipes-support/nss/nss_3.57.bb 
b/meta-oe/recipes-support/nss/nss_3.57.bb
index 5d9318a9223..411707feca5 100644
--- a/meta-oe/recipes-support/nss/nss_3.57.bb
+++ b/meta-oe/recipes-support/nss/nss_3.57.bb
@@ -68,7 +68,6 @@ do_compile_prepend_class-native() {
 
 do_compile() {
     export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr
-    export NSS_ENABLE_WERROR=0
 
     export CROSS_COMPILE=1
     export NATIVE_CC="${BUILD_CC}"
@@ -76,6 +75,10 @@ do_compile() {
     export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux"
     export BUILD_OPT=1
 
+    # POSIX.1-2001 states that the behaviour of getcwd() when passing a null
+    # pointer as the buf argument, is unspecified.
+    export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC"
+
     export FREEBL_NO_DEPEND=1
     export FREEBL_LOWHASH=1
 
-- 
2.17.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#90505): 
https://lists.openembedded.org/g/openembedded-devel/message/90505
Mute This Topic: https://lists.openembedded.org/mt/81794018/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to