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
+}

Reply via email to