diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/libgpg-error/Makefile | 4 | ||||
-rw-r--r-- | package/libgpg-error/patches/0001-core-Fix-regression-on-arm64-due-to-invalid-use-of-v.patch | 56 |
2 files changed, 58 insertions, 2 deletions
diff --git a/package/libgpg-error/Makefile b/package/libgpg-error/Makefile index 4d9e004e8..418efe7c5 100644 --- a/package/libgpg-error/Makefile +++ b/package/libgpg-error/Makefile @@ -4,9 +4,9 @@ include ${ADK_TOPDIR}/rules.mk PKG_NAME:= libgpg-error -PKG_VERSION:= 1.27 +PKG_VERSION:= 1.28 PKG_RELEASE:= 1 -PKG_HASH:= 4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2 +PKG_HASH:= 3edb957744905412f30de3e25da18682cbe509541e18cd3b8f9df695a075da49 PKG_DESCR:= helper library for common error codes and descriptions PKG_SECTION:= libs/misc PKG_URL:= http://www.gnupg.org/ diff --git a/package/libgpg-error/patches/0001-core-Fix-regression-on-arm64-due-to-invalid-use-of-v.patch b/package/libgpg-error/patches/0001-core-Fix-regression-on-arm64-due-to-invalid-use-of-v.patch new file mode 100644 index 000000000..3abf3ab49 --- /dev/null +++ b/package/libgpg-error/patches/0001-core-Fix-regression-on-arm64-due-to-invalid-use-of-v.patch @@ -0,0 +1,56 @@ +From 791177de023574223eddf7288eb7c5a0721ac623 Mon Sep 17 00:00:00 2001 +From: Werner Koch <wk@gnupg.org> +Date: Sun, 18 Mar 2018 17:39:43 +0100 +Subject: [PATCH] core: Fix regression on arm64 due to invalid use of va_list. + +* src/logging.c (_gpgrt_log_printhex): Provide a dummy arg instead of +NULL. +-- + +Fix +Suggested-by: Jakub Wilk <jwilk@jwilk.net> + +Signed-off-by: Werner Koch <wk@gnupg.org> +--- + src/logging.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/src/logging.c b/src/logging.c +index 1a4f620..d01f974 100644 +--- a/src/logging.c ++++ b/src/logging.c +@@ -1090,9 +1090,10 @@ _gpgrt_log_flush (void) + + + /* Print a hexdump of (BUFFER,LENGTH). With FMT passed as NULL print +- * just the raw dump, with FMT being an empty string, print a trailing +- * linefeed, otherwise print an entire debug line with the expanded +- * FMT followed by a possible wrapped hexdump and a final LF. */ ++ * just the raw dump (in this case ARG_PTR is not used), with FMT ++ * being an empty string, print a trailing linefeed, otherwise print ++ * an entire debug line with the expanded FMT followed by a possible ++ * wrapped hexdump and a final LF. */ + void + _gpgrt_logv_printhex (const void *buffer, size_t length, + const char *fmt, va_list arg_ptr) +@@ -1150,7 +1151,16 @@ _gpgrt_log_printhex (const void *buffer, size_t length, + va_end (arg_ptr); + } + else +- _gpgrt_logv_printhex (buffer, length, NULL, NULL); ++ { ++ /* va_list is not necessary a pointer and thus we can't use NULL ++ * because that would conflict with platforms using a straight ++ * struct for it (e.g. arm64). We use a dummy variable instead; ++ * the static is a simple way zero it out so to not get ++ * complains about uninitialized use. */ ++ static va_list dummy_argptr; ++ ++ _gpgrt_logv_printhex (buffer, length, NULL, dummy_argptr); ++ } + } + + +-- +2.16.2 + |