diff options
author | drochner <drochner> | 2011-06-10 17:07:16 +0000 |
---|---|---|
committer | drochner <drochner> | 2011-06-10 17:07:16 +0000 |
commit | b7c560abce0914bea39c790bd91c280d811f597f (patch) | |
tree | 461b8e7546617fa36dae4928cfb7d16dc8c2fb23 /x11 | |
parent | 2e6d94a4cae0790b52b9c7c7e6275d2ae26a6ed8 (diff) | |
download | pkgsrc-b7c560abce0914bea39c790bd91c280d811f597f.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')
-rw-r--r-- | x11/vte/Makefile | 4 | ||||
-rw-r--r-- | x11/vte/distinfo | 3 | ||||
-rw-r--r-- | x11/vte/patches/patch-aj | 60 |
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. */ |