commit: 4fd7f3c35078d7ea0afd780d7fbdecbc27814319 Author: Sebastian Pipping <sping <AT> gentoo <DOT> org> AuthorDate: Wed Jan 6 21:37:57 2016 +0000 Commit: Sebastian Pipping <sping <AT> gentoo <DOT> org> CommitDate: Wed Jan 6 21:41:14 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fd7f3c3
x11-plugins/pidgin-otr: Apply crash-fix patch Upstream: https://bugs.otr.im/issues/88 https://bugs.otr.im/issues/128 Package-Manager: portage-2.2.26 ...pidgin-otr-4.0.1-bug-88-auth-dialog-crash.patch | 27 ++++++++++++++++++ x11-plugins/pidgin-otr/pidgin-otr-4.0.1-r1.ebuild | 32 ++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/x11-plugins/pidgin-otr/files/pidgin-otr-4.0.1-bug-88-auth-dialog-crash.patch b/x11-plugins/pidgin-otr/files/pidgin-otr-4.0.1-bug-88-auth-dialog-crash.patch new file mode 100644 index 0000000..51ed447 --- /dev/null +++ b/x11-plugins/pidgin-otr/files/pidgin-otr-4.0.1-bug-88-auth-dialog-crash.patch @@ -0,0 +1,27 @@ +From 256ad0239728dad500018d3d5a5d8d38191a0116 Mon Sep 17 00:00:00 2001 +From: Stefan Sperling <[email protected]> +Date: Fri, 3 Apr 2015 12:47:36 +0100 +Subject: [PATCH] Fix use after free in create_smp_dialog(). + +After replacing smp_data update the local pointer variable to avoid +use-after-free memory access. Found on OpenBSD where the socialist +millionaires dialog never opened because of this. +--- + gtk-dialog.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gtk-dialog.c b/gtk-dialog.c +index 09ec12e..2021626 100644 +--- a/gtk-dialog.c ++++ b/gtk-dialog.c +@@ -778,6 +778,7 @@ static GtkWidget *create_smp_dialog(const char *title, const char *primary, + if (smp_data->their_instance != context->their_instance) { + otrg_gtk_dialog_free_smp_data(conv); + otrg_gtk_dialog_add_smp_data(conv); ++ smp_data = purple_conversation_get_data(conv, "otr-smpdata"); + } + + if (!(smp_data->smp_secret_dialog)) { +-- +2.3.4 + diff --git a/x11-plugins/pidgin-otr/pidgin-otr-4.0.1-r1.ebuild b/x11-plugins/pidgin-otr/pidgin-otr-4.0.1-r1.ebuild new file mode 100644 index 0000000..da78b2d --- /dev/null +++ b/x11-plugins/pidgin-otr/pidgin-otr-4.0.1-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils + +DESCRIPTION="(OTR) Messaging allows you to have private conversations over instant messaging" +HOMEPAGE="http://www.cypherpunks.ca/otr/" +SRC_URI="http://www.cypherpunks.ca/otr/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +RDEPEND="dev-libs/libgcrypt:0 + net-im/pidgin[gtk] + >=net-libs/libotr-4.0.0 + x11-libs/gtk+:2" +DEPEND="${RDEPEND} + dev-util/intltool + virtual/pkgconfig" + +DOCS=( AUTHORS ChangeLog NEWS README ) + +src_prepare() { + # https://bugs.otr.im/issues/88 + # (and https://bugs.otr.im/issues/128) + epatch "${FILESDIR}"/${P}-bug-88-auth-dialog-crash.patch +}
