From 083e7ce83a8ad5101687123ea9b9b6766a4b3ee6 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Thu, 22 Aug 2019 13:02:12 -0700 Subject: Added hotfix for buffer overflow --- PKGBUILD | 13 ++++++++++--- buffer_overflow.patch | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 buffer_overflow.patch diff --git a/PKGBUILD b/PKGBUILD index 0f953e6..6eff166 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -9,7 +9,7 @@ pkgname=7kaa pkgver=2.15.2 -pkgrel=1 +pkgrel=2 pkgdesc='Seven Kingdoms: Ancient Adversaries is a real-time strategy (RTS) computer game developed by Trevor Chan' url='https://7kfans.com/' arch=('i686' 'x86_64') @@ -21,12 +21,19 @@ provides=('7kaa-data') source=("https://github.com/the3dfxdude/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz" "${pkgname}.sh" "${pkgname}.desktop" - "${pkgname}.png") + "${pkgname}.png" + "buffer_overflow.patch") md5sums=('abd3648aec3b8337a16f22de43ce9b19' '78e098c8e8b2467f02da886f8bc431a0' '880d2760bdb02f8f73552e13f3a1a5a9' - 'a44784360325c94b605de06f7154d121') + 'a44784360325c94b605de06f7154d121' + '624e73ece72789f3aeff3b6497cabb77') +prepare() { + cd ${pkgname}-${pkgver} + # Fix https://github.com/the3dfxdude/7kaa/issues/172 + patch -Np1 -i "${srcdir}"/buffer_overflow.patch +} build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/buffer_overflow.patch b/buffer_overflow.patch new file mode 100644 index 0000000..4cb21f2 --- /dev/null +++ b/buffer_overflow.patch @@ -0,0 +1,18 @@ +--- 7kaa-2.15.2/src/LocaleRes.cpp ++++ 7kaa-2.15.2/src/LocaleRes.cpp +@@ -107,10 +107,12 @@ + strcpy(lang, "??"); + strcpy(codeset, "ISO-8859-1"); + } +- strcat(codeset, "//TRANSLIT"); + +- cd = iconv_open(codeset, ""); ++ String tocode(codeset); ++ tocode += "//TRANSLIT"; ++ cd = iconv_open(tocode, ""); + cd_latin = iconv_open("ISO-8859-1", ""); ++ + in_buf = mem_add(INIT_BUF_SIZE+1); + in_buf_size = INIT_BUF_SIZE; + out_buf = mem_add(INIT_BUF_SIZE+1); + -- cgit v1.2.1