summaryrefslogtreecommitdiff
path: root/x11/vte
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2011-06-10 17:07:16 +0000
committerdrochner <drochner@pkgsrc.org>2011-06-10 17:07:16 +0000
commit417014f731e287fc64775ccba54eb9ba63f3f039 (patch)
tree461b8e7546617fa36dae4928cfb7d16dc8c2fb23 /x11/vte
parentfdd829f898d9baf0d339db04681eefab6f93dbbe (diff)
downloadpkgsrc-417014f731e287fc64775ccba54eb9ba63f3f039.tar.gz
add a patch from Gnome bugzille to fix a bug where the terminal could
be sent into an endless loop allocating memory by a simple escape sequence bump PKGREV
Diffstat (limited to 'x11/vte')
-rw-r--r--x11/vte/Makefile4
-rw-r--r--x11/vte/distinfo3
-rw-r--r--x11/vte/patches/patch-aj60
3 files changed, 64 insertions, 3 deletions
diff --git a/x11/vte/Makefile b/x11/vte/Makefile
index 0c00a9c8025..70af192befb 100644
--- a/x11/vte/Makefile
+++ b/x11/vte/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.84 2011/04/22 13:42:27 obache Exp $
+# $NetBSD: Makefile,v 1.85 2011/06/10 17:07:16 drochner Exp $
#
.include "Makefile.common"
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= x11
MAINTAINER= pkgsrc-users@NetBSD.org
diff --git a/x11/vte/distinfo b/x11/vte/distinfo
index 506ed3542ef..9605ff9f656 100644
--- a/x11/vte/distinfo
+++ b/x11/vte/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.47 2010/11/16 13:53:06 drochner Exp $
+$NetBSD: distinfo,v 1.48 2011/06/10 17:07:16 drochner Exp $
SHA1 (vte-0.26.2.tar.bz2) = 4c8fb07403538b7f743ec1d7af7b127683c7b9c2
RMD160 (vte-0.26.2.tar.bz2) = 22a2217f69c2f64090a9d45105047fb1a440b07f
@@ -9,3 +9,4 @@ SHA1 (patch-ac) = 3b357bf9d1bca93c24f5b09dae1adec82323be0d
SHA1 (patch-af) = 69ea7e022f6c495c3c9af681d05644b9d70e7bdc
SHA1 (patch-ah) = 28cee2661439d7d6f1959ebf3c7d1b7b3fe0a764
SHA1 (patch-ai) = 986dd7c2a5778c9c35100901cfaa25acd0cbdc32
+SHA1 (patch-aj) = 7d4d272bd86948f93b9218d6268332e0ece677f0
diff --git a/x11/vte/patches/patch-aj b/x11/vte/patches/patch-aj
new file mode 100644
index 00000000000..93f26551313
--- /dev/null
+++ b/x11/vte/patches/patch-aj
@@ -0,0 +1,60 @@
+$NetBSD: patch-aj,v 1.3 2011/06/10 17:07:16 drochner Exp $
+
+gnome bug #652124
+
+--- src/vteseq.c.orig 2010-08-09 11:38:44.000000000 +0000
++++ src/vteseq.c
+@@ -532,9 +532,10 @@ vte_sequence_handler_offset(VteTerminal
+
+ /* Call another function a given number of times, or once. */
+ static void
+-vte_sequence_handler_multiple(VteTerminal *terminal,
+- GValueArray *params,
+- VteTerminalSequenceHandler handler)
++vte_sequence_handler_multiple_limited(VteTerminal *terminal,
++ GValueArray *params,
++ VteTerminalSequenceHandler handler,
++ glong max)
+ {
+ long val = 1;
+ int i;
+@@ -544,13 +545,29 @@ vte_sequence_handler_multiple(VteTermina
+ value = g_value_array_get_nth(params, 0);
+ if (G_VALUE_HOLDS_LONG(value)) {
+ val = g_value_get_long(value);
+- val = MAX(val, 1); /* FIXME: vttest. */
++ val = CLAMP(val, 1, max); /* FIXME: vttest. */
+ }
+ }
+ for (i = 0; i < val; i++)
+ handler (terminal, NULL);
+ }
+
++static void
++vte_sequence_handler_multiple(VteTerminal *terminal,
++ GValueArray *params,
++ VteTerminalSequenceHandler handler)
++{
++ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
++}
++
++static void
++vte_sequence_handler_multiple_r(VteTerminal *terminal,
++ GValueArray *params,
++ VteTerminalSequenceHandler handler)
++{
++ vte_sequence_handler_multiple_limited(terminal, params, handler,
++ terminal->column_count - terminal->pvt->screen->cursor_current.col);
++}
+
+ /* Manipulate certain terminal attributes. */
+ static void
+@@ -1570,7 +1587,7 @@ vte_sequence_handler_ic (VteTerminal *te
+ static void
+ vte_sequence_handler_IC (VteTerminal *terminal, GValueArray *params)
+ {
+- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_ic);
++ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_ic);
+ }
+
+ /* Begin insert mode. */