summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2016-01-06 22:37:57 +0100
committerSebastian Pipping <sping@gentoo.org>2016-01-06 22:41:14 +0100
commit4fd7f3c35078d7ea0afd780d7fbdecbc27814319 (patch)
treee85ea45f457387e96ae11eb03804deb5ed0ade8a
parentdev-perl/DateTime-Format-Strptime: Remove old (diff)
downloadgentoo-4fd7f3c35078d7ea0afd780d7fbdecbc27814319.tar.gz
gentoo-4fd7f3c35078d7ea0afd780d7fbdecbc27814319.tar.bz2
gentoo-4fd7f3c35078d7ea0afd780d7fbdecbc27814319.zip
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
-rw-r--r--x11-plugins/pidgin-otr/files/pidgin-otr-4.0.1-bug-88-auth-dialog-crash.patch27
-rw-r--r--x11-plugins/pidgin-otr/pidgin-otr-4.0.1-r1.ebuild32
2 files changed, 59 insertions, 0 deletions
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 00000000000..51ed4478909
--- /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 <stsp@stsp.name>
+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 00000000000..da78b2ded9e
--- /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
+}