diff options
author | Sam James <sam@gentoo.org> | 2023-04-11 03:43:08 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-04-11 03:44:41 +0100 |
commit | 9ca63fb29f80c52ea7863d1b418e7c36abd6166f (patch) | |
tree | d34c2ad3f519e7e65a01ca11ce6a704a2cd99036 /app-editors/pluma | |
parent | media-gfx/xdot: Bump to EAPI=8 (diff) | |
download | gentoo-9ca63fb29f80c52ea7863d1b418e7c36abd6166f.tar.gz gentoo-9ca63fb29f80c52ea7863d1b418e7c36abd6166f.tar.bz2 gentoo-9ca63fb29f80c52ea7863d1b418e7c36abd6166f.zip |
app-editors/pluma: fix crash w/ FORTIFY_SOURCE=3
Closes: https://bugs.gentoo.org/903860
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-editors/pluma')
-rw-r--r-- | app-editors/pluma/files/pluma-1.26.0-fortify-source-3.patch | 24 | ||||
-rw-r--r-- | app-editors/pluma/pluma-1.26.0-r1.ebuild | 83 |
2 files changed, 107 insertions, 0 deletions
diff --git a/app-editors/pluma/files/pluma-1.26.0-fortify-source-3.patch b/app-editors/pluma/files/pluma-1.26.0-fortify-source-3.patch new file mode 100644 index 000000000000..001d88081ce6 --- /dev/null +++ b/app-editors/pluma/files/pluma-1.26.0-fortify-source-3.patch @@ -0,0 +1,24 @@ +https://bugs.gentoo.org/903860 +https://github.com/mate-desktop/pluma/issues/664 +https://github.com/mate-desktop/pluma/pull/665 +https://github.com/mate-desktop/pluma/commit/8ca37beb259f7a62fef2005e888248ec880e44cd + +From 8ca37beb259f7a62fef2005e888248ec880e44cd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bal=C3=A1zs=20Dura-Kov=C3=A1cs?= <balping314@gmail.com> +Date: Thu, 18 Aug 2022 17:44:41 +0200 +Subject: [PATCH] Fix out-of-bounds write + +Closes https://github.com/mate-desktop/pluma/issues/664 + +The size of tempfont was one byte too short, so strcpy performed an out-of-bounds write of the terminating 0. +--- a/pluma/pluma-window.c ++++ b/pluma/pluma-window.c +@@ -318,7 +318,7 @@ pluma_window_key_press_event (GtkWidget *widget, + g_strcanon (tempsize, "1234567890", '\0'); + g_strreverse (tempsize); + +- gchar tempfont [strlen (font)]; ++ gchar tempfont [strlen (font) + 1]; + strcpy (tempfont, font); + tempfont [strlen (font) - strlen (tempsize)] = 0; + diff --git a/app-editors/pluma/pluma-1.26.0-r1.ebuild b/app-editors/pluma/pluma-1.26.0-r1.ebuild new file mode 100644 index 000000000000..99286d9f6e29 --- /dev/null +++ b/app-editors/pluma/pluma-1.26.0-r1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MATE_LA_PUNT="yes" +PYTHON_COMPAT=( python3_{9..11} ) +inherit mate python-single-r1 virtualx + +DESCRIPTION="Pluma text editor for the MATE desktop" + +LICENSE="FDL-1.1+ GPL-2+ LGPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +IUSE="+introspection spell test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + dev-libs/atk + >=dev-libs/glib-2.50:2 + >=dev-libs/libpeas-1.2.0[gtk] + >=dev-libs/libxml2-2.5:2 + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.22:3[introspection?] + >=x11-libs/gtksourceview-4.0.2:4 + x11-libs/libICE + x11-libs/libX11 + >=x11-libs/libSM-1.0 + x11-libs/pango + introspection? ( >=dev-libs/gobject-introspection-0.9.3:= ) + spell? ( + >=app-text/enchant-1.6:= + >=app-text/iso-codes-0.35 + ) + !!app-editors/mate-text-editor +" +RDEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} + >=mate-base/mate-desktop-1.9[introspection?] + virtual/libintl +" +DEPEND="${COMMON_DEPEND} + ~app-text/docbook-xml-dtd-4.1.2 + app-text/yelp-tools + dev-util/glib-utils + dev-util/gtk-doc + dev-util/gtk-doc-am + >=sys-devel/libtool-2.2.6:2 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +MATE_FORCE_AUTORECONF=true + +PATCHES=( + "${FILESDIR}"/${P}-fortify-source-3.patch +) + +src_prepare() { + # Test require gvfs sftp fs mounted and schema's installed. Skip this one. + # https://github.com/mate-desktop/mate-text-editor/issues/33 + sed -e '/+= document-saver/d' -i tests/Makefile.am || die + + mate_src_prepare +} + +src_configure() { + mate_src_configure \ + $(use_enable introspection) \ + $(use_enable spell) \ + $(use_enable test tests) +} + +src_test() { + # FIXME: This should be handled at eclass level. + "${EPREFIX}/${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die + + unset DBUS_SESSION_BUS_ADDRESS + local -x GSETTINGS_SCHEMA_DIR="${S}/data" + virtx emake check +} |