Skip to content

Commit

Permalink
x11-terms/rxvt: add patch for integer overflow
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.5, Repoman-2.3.2
  • Loading branch information
zx2c4 committed May 1, 2017
1 parent 5685a98 commit fabb4ee
Show file tree
Hide file tree
Showing 2 changed files with 104 additions and 0 deletions.
11 changes: 11 additions & 0 deletions x11-terms/rxvt/files/rxvt-2.7.10-integer-overflow.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- rxvt-2.7.10/src/command.c 2003-03-26 07:01:23.000000000 +0100
+++ rxvt-2.7.10-patched/src/command.c 2017-04-27 12:06:05.682072274 +0200
@@ -2096,7 +2096,7 @@
i = ch - CSI_ICH;
ndef = get_byte_array_bit(csi_defaults, i);
for (p = 0; p < nargs; p++)
- if (arg[p] == -1)
+ if (arg[p] < 0 || arg[p] > 30000)
arg[p] = ndef;

#ifdef DEBUG_CMD
93 changes: 93 additions & 0 deletions x11-terms/rxvt/rxvt-2.7.10-r5.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=5

inherit eutils flag-o-matic libtool toolchain-funcs

DESCRIPTION="A nice small x11 terminal"
HOMEPAGE="http://rxvt.sourceforge.net/
http://www.giga.it.okayama-u.ac.jp/~ishihara/opensource/"
SRC_URI="mirror://sourceforge/rxvt/${P}.tar.gz
http://www.giga.it.okayama-u.ac.jp/~ishihara/opensource/${P}-xim-fix.patch.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 hppa ~mips ppc ppc64 sparc x86"
IUSE="motif cjk xgetdefault linguas_ja linuxkeys"

RDEPEND="x11-libs/libX11
x11-libs/libXpm
x11-libs/libXext
motif? ( >=x11-libs/motif-2.3:0 )"
DEPEND="${RDEPEND}
x11-proto/xproto"

src_prepare() {
tc-export AR

epatch "${FILESDIR}"/${P}-line-scroll.patch\
"${FILESDIR}"/${P}-asneeded.patch
use motif && epatch "${FILESDIR}"/${P}-azz4.diff
if use cjk ; then
epatch "${DISTDIR}"/${P}-xim-fix.patch.gz
if use linguas_ja ; then
epatch "${FILESDIR}"/${P}-rk.patch
fi
fi

epatch "${FILESDIR}"/${P}-CVE-2008-1142-DISPLAY.patch
epatch "${FILESDIR}"/${P}-integer-overflow.patch
elibtoolize
}

src_compile() {
local term
if [ -n "${RXVT_TERM}" ] ; then
term="${RXVT_TERM}"
else
term="rxvt"
fi

# bug #22325
use linuxkeys && append-flags -DLINUX_KEYS

econf \
--enable-everything \
--enable-rxvt-scroll \
--enable-next-scroll \
--enable-xterm-scroll \
--enable-transparency \
--enable-xpm-background \
--enable-utmp \
--enable-wtmp \
--enable-mousewheel \
--enable-slipwheeling \
--enable-smart-resize \
--enable-256-color \
--enable-menubar \
$(use_enable cjk languages) \
--enable-xim \
--enable-shared \
--enable-keepscrolling \
--with-term=${term} \
$(use_enable xgetdefault)
}

src_install() {
emake DESTDIR="${D}" install

cd "${S}"/doc
dodoc README* *.txt BUGS FAQ
dohtml *.html
}

pkg_postinst() {
einfo
einfo "If you want to change default TERM variable other than rxvt,"
einfo "set RXVT_TERM environment variable and then emerge rxvt."
einfo "Especially, if you use rxvt under monochrome X you might need to run"
einfo "\t RXVT_TERM=rxvt-basic emerge rxvt"
einfo "otherwise curses based program will not work."
einfo
}

0 comments on commit fabb4ee

Please sign in to comment.