commit: 67eefb25d66a312e6d4ecdf3ff6bb4c7f4847137 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Dec 16 02:16:12 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Dec 16 02:52:04 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67eefb25
x11-misc/colord: backport lcms 2 fix Closes: https://bugs.gentoo.org/880865 Signed-off-by: Sam James <sam <AT> gentoo.org> ...{colord-1.4.6.ebuild => colord-1.4.6-r1.ebuild} | 4 +++ .../files/colord-1.4.6-lcms2-corruption.patch | 33 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/x11-misc/colord/colord-1.4.6.ebuild b/x11-misc/colord/colord-1.4.6-r1.ebuild similarity index 98% rename from x11-misc/colord/colord-1.4.6.ebuild rename to x11-misc/colord/colord-1.4.6-r1.ebuild index 6b1521b25a0a..58918a6d770d 100644 --- a/x11-misc/colord/colord-1.4.6.ebuild +++ b/x11-misc/colord/colord-1.4.6-r1.ebuild @@ -57,6 +57,10 @@ BDEPEND=" vala? ( $(vala_depend) ) " +PATCHES=( + "${FILESDIR}"/${P}-lcms2-corruption.patch +) + src_prepare() { default use vala && vala_src_prepare diff --git a/x11-misc/colord/files/colord-1.4.6-lcms2-corruption.patch b/x11-misc/colord/files/colord-1.4.6-lcms2-corruption.patch new file mode 100644 index 000000000000..4df6773cfb4b --- /dev/null +++ b/x11-misc/colord/files/colord-1.4.6-lcms2-corruption.patch @@ -0,0 +1,33 @@ +https://bugs.gentoo.org/880865 + +https://github.com/mm2/Little-CMS/issues/344 +https://github.com/hughsie/colord/issues/145 + +https://github.com/hughsie/colord/commit/91a3cc2e994be587def3b70762f15461101d43a1 + +From 91a3cc2e994be587def3b70762f15461101d43a1 Mon Sep 17 00:00:00 2001 +From: Sam James <s...@gentoo.org> +Date: Tue, 15 Nov 2022 17:03:37 +0000 +Subject: [PATCH] lib: avoid destructing LCMS plugin twice with lcms 2.14 + +lcms 2.14 contains a change to avoid a memory leak, but that change +assumes correct API usage. It's not necessary to both cmsUnregisterPluginsTHR() +and then cmsDeleteContext() -- we can just straight up delete the LCMS +context instead (cmsDeleteContext()). + +So, follow upstream's suggestion & do that. This fixes memory corruption +when building colord on x86, for example. + +Bug: https://github.com/mm2/Little-CMS/issues/344 +Fixes: https://github.com/hughsie/colord/issues/145 +Signed-off-by: Sam James <s...@gentoo.org> +--- a/lib/colord/cd-context-lcms.c ++++ b/lib/colord/cd-context-lcms.c +@@ -163,7 +163,6 @@ cd_context_lcms_free (gpointer ctx) + g_clear_error (error_ctx); + g_free (error_ctx); + +- cmsUnregisterPluginsTHR (ctx); + cmsDeleteContext (ctx); + } +