diff options
author | tsutsui <tsutsui@pkgsrc.org> | 2020-11-16 15:48:43 +0000 |
---|---|---|
committer | tsutsui <tsutsui@pkgsrc.org> | 2020-11-16 15:48:43 +0000 |
commit | 9da3193dcb193294fbbf340519753ef723eed9b0 (patch) | |
tree | 0bcd38bc8008f04ae2a41f6b2754dab7d704c621 /archivers | |
parent | 48c28195843fdb44ea1ed59a43c924e140a305ec (diff) | |
download | pkgsrc-9da3193dcb193294fbbf340519753ef723eed9b0.tar.gz |
lhasa: avoid SIGSEGV on decoding 8bit char filenames on NetBSD/amd64.
Bump PKGREVISION.
Diffstat (limited to 'archivers')
-rw-r--r-- | archivers/lhasa/Makefile | 3 | ||||
-rw-r--r-- | archivers/lhasa/distinfo | 3 | ||||
-rw-r--r-- | archivers/lhasa/patches/patch-lib_lha__file__header.c | 41 |
3 files changed, 45 insertions, 2 deletions
diff --git a/archivers/lhasa/Makefile b/archivers/lhasa/Makefile index 84884f24768..87454ae3dbd 100644 --- a/archivers/lhasa/Makefile +++ b/archivers/lhasa/Makefile @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.9 2020/01/18 23:29:56 rillig Exp $ +# $NetBSD: Makefile,v 1.10 2020/11/16 15:48:43 tsutsui Exp $ DISTNAME= lhasa-0.3.1 +PKGREVISION= 1 CATEGORIES= archivers MASTER_SITES= https://soulsphere.org/projects/lhasa/ diff --git a/archivers/lhasa/distinfo b/archivers/lhasa/distinfo index 061b3f99a81..d997fd72f65 100644 --- a/archivers/lhasa/distinfo +++ b/archivers/lhasa/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.8 2016/06/22 10:30:18 wiz Exp $ +$NetBSD: distinfo,v 1.9 2020/11/16 15:48:43 tsutsui Exp $ SHA1 (lhasa-0.3.1.tar.gz) = 1a5d827100d1e6445b377029b69b901af3ffa240 RMD160 (lhasa-0.3.1.tar.gz) = 4e4cef0525d99c0b4cbe58529da8edaf6b01608b SHA512 (lhasa-0.3.1.tar.gz) = 6e4797aaa054f2ecd25069b32b809ab0111d0179adfd9c676e0609d69efbcc968ec6dce67fbd8ce6bccc102d09ee69996805a5542882b432731e3c273f132c05 Size (lhasa-0.3.1.tar.gz) = 2933084 bytes +SHA1 (patch-lib_lha__file__header.c) = 5603af72663f9d154dd1bdae7839ece1ea22d54a diff --git a/archivers/lhasa/patches/patch-lib_lha__file__header.c b/archivers/lhasa/patches/patch-lib_lha__file__header.c new file mode 100644 index 00000000000..55f68f9abb5 --- /dev/null +++ b/archivers/lhasa/patches/patch-lib_lha__file__header.c @@ -0,0 +1,41 @@ +$NetBSD: patch-lib_lha__file__header.c,v 1.1 2020/11/16 15:48:44 tsutsui Exp $ + +- avoid SIGSEGV on NetBSD/amd64 on decoding 8bit char filenames. + https://github.com/fragglet/lhasa/pull/33 + +--- lib/lha_file_header.c.orig 2016-03-30 02:28:14.000000000 +0000 ++++ lib/lha_file_header.c +@@ -194,7 +194,7 @@ static void fix_msdos_allcaps(LHAFileHea + + if (header->path != NULL) { + for (i = 0; header->path[i] != '\0'; ++i) { +- if (islower((unsigned) header->path[i])) { ++ if (islower((int)(unsigned char) header->path[i])) { + is_allcaps = 0; + break; + } +@@ -203,7 +203,7 @@ static void fix_msdos_allcaps(LHAFileHea + + if (is_allcaps && header->filename != NULL) { + for (i = 0; header->filename[i] != '\0'; ++i) { +- if (islower((unsigned) header->filename[i])) { ++ if (islower((int)(unsigned char) header->filename[i])) { + is_allcaps = 0; + break; + } +@@ -216,13 +216,13 @@ static void fix_msdos_allcaps(LHAFileHea + if (header->path != NULL) { + for (i = 0; header->path[i] != '\0'; ++i) { + header->path[i] +- = tolower((unsigned) header->path[i]); ++ = tolower((int)(unsigned char) header->path[i]); + } + } + if (header->filename != NULL) { + for (i = 0; header->filename[i] != '\0'; ++i) { + header->filename[i] +- = tolower((unsigned) header->filename[i]); ++ = tolower((int)(unsigned char) header->filename[i]); + } + } + } |