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 0000000000000..33a1ceee5a262 --- /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 +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 30376e8e222a3..506382b3e617f 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 }