diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 14 | ||||
-rw-r--r-- | buffer_overflow.patch | 18 |
3 files changed, 32 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = 7kaa pkgdesc = Seven Kingdoms: Ancient Adversaries is a real-time strategy (RTS) computer game developed by Trevor Chan pkgver = 2.15.2 - pkgrel = 1 + pkgrel = 2 url = http://7kfans.com/ arch = i686 arch = x86_64 @@ -18,10 +18,12 @@ pkgbase = 7kaa source = 7kaa.sh source = 7kaa.desktop source = 7kaa.ico + source = buffer_overflow.patch md5sums = abd3648aec3b8337a16f22de43ce9b19 md5sums = 8d0634b0962ad621a7608378d7172e02 md5sums = 3fd08eeb86036fa9b18b91a91c62cb99 md5sums = 996b0cdc8e4448ee456603c6640bb19b + md5sums = 624e73ece72789f3aeff3b6497cabb77 pkgname = 7kaa @@ -4,7 +4,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='http://7kfans.com/' arch=('i686' 'x86_64') @@ -16,13 +16,21 @@ provides=('7kaa-data') source=("https://github.com/the3dfxdude/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz" "${pkgname}.sh" "${pkgname}.desktop" - "${pkgname}.ico") + "${pkgname}.ico" + "buffer_overflow.patch") md5sums=('abd3648aec3b8337a16f22de43ce9b19' '8d0634b0962ad621a7608378d7172e02' '3fd08eeb86036fa9b18b91a91c62cb99' - '996b0cdc8e4448ee456603c6640bb19b') + '996b0cdc8e4448ee456603c6640bb19b' + '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}" ./configure diff --git a/buffer_overflow.patch b/buffer_overflow.patch new file mode 100644 index 000000000000..4cb21f2d1067 --- /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); + |