mirror of
https://git.yoctoproject.org/poky
synced 2026-04-15 02:02:21 +02:00
nettle: fix ptest failure
Remove dlopen-test.patch which originally used
to fix the test dlopen-test, but autually the
patch didn't resolve the issue as dlopen-test.patch
supposes the file /usr/lib/libnettle.so exists.
Instead deploy ${D}${PTEST_PATH}/libnettle.so to
fix the dlopen-test failure.
Update the initialization for the salt to fix
below Segmentation fault and also nettle-pbkdf2-test
failure.
# echo -n passwd| nettle-pbkdf2 -i 1 -l 16 salt
[65534.886509] nettle-pbkdf2[708]: segfault at 1f594260 ip 00007f3332256998 sp 00007fff60d44410 error 4 in libnettle.so.6.5[7f3332244000+1d00]
[65534.887525] Code: e8 6d db fe ff 44 01 6d 68 48 83 c4 08 5b 5d 41 5c 41 5d 41 5e 41 5f c3 66 2e 0f 1f 84 00 00 00 00 00 49 89 dc e9 68 ff f
Segmentation fault
(From OE-Core rev: 83faaf7b2a5f4fc4ae504b300134409e90389770)
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
047aab4f45
commit
861e0ad2a3
@@ -0,0 +1,39 @@
|
||||
From 7510ee2877368464ecce7de515ce056e08c75245 Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <Mingli.Yu@windriver.com>
|
||||
Date: Fri, 12 Apr 2019 10:30:14 +0800
|
||||
Subject: [PATCH] nettle-pbkdf2.c: change the initialization for salt
|
||||
|
||||
use malloc and strncpy altogether to replace
|
||||
strdup for salt initialization to fix below
|
||||
Segmentation fault:
|
||||
# echo -n passwd| nettle-pbkdf2 -i 1 -l 16 salt
|
||||
[65534.886509] nettle-pbkdf2[708]: segfault at 1f594260 ip 00007f3332256998 sp 00007fff60d44410 error 4 in libnettle.so.6.5[7f3332244000+1d00]
|
||||
[65534.887525] Code: e8 6d db fe ff 44 01 6d 68 48 83 c4 08 5b 5d 41 5c 41 5d 41 5e 41 5f c3 66 2e 0f 1f 84 00 00 00 00 00 49 89 dc e9 68 ff f
|
||||
Segmentation fault
|
||||
|
||||
Upstream-Status: Submitted[http://lists.lysator.liu.se/pipermail/nettle-bugs/2019/007467.html]
|
||||
|
||||
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
|
||||
---
|
||||
tools/nettle-pbkdf2.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/nettle-pbkdf2.c b/tools/nettle-pbkdf2.c
|
||||
index 1f0a301..000acd3 100644
|
||||
--- a/tools/nettle-pbkdf2.c
|
||||
+++ b/tools/nettle-pbkdf2.c
|
||||
@@ -141,7 +141,10 @@ main (int argc, char **argv)
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
- salt = strdup (argv[0]);
|
||||
+ salt = malloc (strlen(argv[0]) + 1);
|
||||
+ if (! salt)
|
||||
+ die ("Failed to allocate memory for salt\n");
|
||||
+ strncpy(salt, argv[0], sizeof(salt) - 1);
|
||||
salt_length = strlen(argv[0]);
|
||||
|
||||
if (hex_salt)
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
Replace relative path of libnettle.so with absolute path so the test
|
||||
program can find it.
|
||||
Relative paths are not suitable, as the folder strucure for ptest
|
||||
is different from the one expected by the nettle testsuite.
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
||||
|
||||
--- a/testsuite/dlopen-test.c 2016-10-01 00:28:38.000000000 -0700
|
||||
+++ b/testsuite/dlopen-test.c 2017-10-13 11:08:57.227572860 -0700
|
||||
@@ -9,7 +9,7 @@
|
||||
main (int argc UNUSED, char **argv UNUSED)
|
||||
{
|
||||
#if HAVE_LIBDL
|
||||
- void *handle = dlopen ("../libnettle.so", RTLD_NOW);
|
||||
+ void *handle = dlopen ("/usr/lib/libnettle.so", RTLD_NOW);
|
||||
int (*get_version)(void);
|
||||
if (!handle)
|
||||
{
|
||||
@@ -14,12 +14,9 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
|
||||
file://Add-target-to-only-build-tests-not-run-them.patch \
|
||||
file://run-ptest \
|
||||
file://check-header-files-of-openssl-only-if-enable_.patch \
|
||||
file://0001-nettle-pbkdf2.c-change-the-initialization-for-salt.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_class-target = "\
|
||||
file://dlopen-test.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "9bdebb0e2f638d3b9d91f7fc264b70c1"
|
||||
SRC_URI[sha256sum] = "f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad"
|
||||
|
||||
@@ -47,6 +44,10 @@ do_install_ptest() {
|
||||
# tools can be found in PATH, not in ../tools/
|
||||
sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
|
||||
install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
|
||||
# libnettle.so is needed for dlopen-test
|
||||
if [ -f ${D}${libdir}/libnettle.so.6.* ]; then
|
||||
cp ${D}${libdir}/libnettle.so.6.* ${D}${PTEST_PATH}/libnettle.so
|
||||
fi
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
Reference in New Issue
Block a user