commit:     38ce591f8ff78ad13ec3b03e5794b5f0673f873d
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 15 07:59:31 2023 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Tue Aug 15 08:00:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38ce591f

dev-libs/yyjson: fix for clang 16 + valgrind

Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 .../files/yyjson-0.7.0-fix-clang-16-valgrind.patch | 24 ++++++++++++++++++++++
 ...{yyjson-0.7.0.ebuild => yyjson-0.7.0-r1.ebuild} |  8 +++++---
 2 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/dev-libs/yyjson/files/yyjson-0.7.0-fix-clang-16-valgrind.patch 
b/dev-libs/yyjson/files/yyjson-0.7.0-fix-clang-16-valgrind.patch
new file mode 100644
index 000000000000..33a1ceee5a26
--- /dev/null
+++ b/dev-libs/yyjson/files/yyjson-0.7.0-fix-clang-16-valgrind.patch
@@ -0,0 +1,24 @@
+https://github.com/ibireme/yyjson/commit/841a8c5603a1e393d95300a55b44ebc324497e82
+
+From: ibireme <[email protected]>
+Date: Mon, 14 Aug 2023 21:33:31 +0800
+Subject: [PATCH] Fix clang-16 valgrind fail: #134
+
+--- a/src/yyjson.c
++++ b/src/yyjson.c
+@@ -2670,6 +2670,7 @@ yyjson_mut_val *yyjson_merge_patch(yyjson_mut_doc *doc,
+     builder = yyjson_mut_obj(doc);
+     if (unlikely(!builder)) return NULL;
+     
++    memset(&local_orig, 0, sizeof(local_orig));
+     if (!yyjson_is_obj(orig)) {
+         orig = &local_orig;
+         orig->tag = builder->tag;
+@@ -2721,6 +2722,7 @@ yyjson_mut_val *yyjson_mut_merge_patch(yyjson_mut_doc 
*doc,
+     builder = yyjson_mut_obj(doc);
+     if (unlikely(!builder)) return NULL;
+     
++    memset(&local_orig, 0, sizeof(local_orig));
+     if (!yyjson_mut_is_obj(orig)) {
+         orig = &local_orig;
+         orig->tag = builder->tag;

diff --git a/dev-libs/yyjson/yyjson-0.7.0.ebuild 
b/dev-libs/yyjson/yyjson-0.7.0-r1.ebuild
similarity index 82%
rename from dev-libs/yyjson/yyjson-0.7.0.ebuild
rename to dev-libs/yyjson/yyjson-0.7.0-r1.ebuild
index 30376e8e222a..506382b3e617 100644
--- a/dev-libs/yyjson/yyjson-0.7.0.ebuild
+++ b/dev-libs/yyjson/yyjson-0.7.0-r1.ebuild
@@ -19,15 +19,17 @@ RESTRICT="!test? ( test )"
 
 BDEPEND="doc? ( app-doc/doxygen )"
 
-PATCHES=( "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch )
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch
+       "${FILESDIR}"/${PN}-0.7.0-fix-clang-16-valgrind.patch
+)
 
 src_configure() {
        local mycmakeargs=(
                -DYYJSON_BUILD_DOC=$(usex doc)
                -DYYJSON_BUILD_TESTS=$(usex test)
+               -DYYJSON_ENABLE_VALGRIND=$(usex test)
        )
-       # TODO: -DYYJSON_ENABLE_VALGRIND=$(usex test)
-       # https://github.com/ibireme/yyjson/issues/134
 
        cmake_src_configure
 }

Reply via email to