git: 2140f32d4586 - main - japanese/eb: Add patch to fix buffer overrun in eb/multiplex.c

From: Yasuhiro Kimura <yasu_at_FreeBSD.org>
Date: Tue, 26 Apr 2022 16:22:00 UTC
The branch main has been updated by yasu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2140f32d458610dd076b00670a68def3b7f39d37

commit 2140f32d458610dd076b00670a68def3b7f39d37
Author:     Yasuhiro Kimura <yasu@FreeBSD.org>
AuthorDate: 2022-04-26 15:48:01 +0000
Commit:     Yasuhiro Kimura <yasu@FreeBSD.org>
CommitDate: 2022-04-26 16:21:14 +0000

    japanese/eb: Add patch to fix buffer overrun in eb/multiplex.c
    
    While I'm here,
    
    * Pet portlint and portclippy
    * Tidy up Makefile with portfmt
    
    Reported by:    Kazuhiro Ito
    Obtained from:  edict ML <edict@ring.gr.jp>
    MFH:            2022Q2
    Security:       17a30a24-c579-11ec-bbbd-0800270512f4
---
 japanese/eb/Makefile                   | 87 +++++++++++++++-------------------
 japanese/eb/files/patch-eb_multiplex.c | 11 +++++
 2 files changed, 48 insertions(+), 50 deletions(-)

diff --git a/japanese/eb/Makefile b/japanese/eb/Makefile
index 979dc5285377..12764cb34947 100644
--- a/japanese/eb/Makefile
+++ b/japanese/eb/Makefile
@@ -2,7 +2,7 @@
 
 PORTNAME=	eb
 PORTVERSION=	4.4.3
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	japanese
 MASTER_SITES=	ftp://ftp.sra.co.jp/pub/misc/eb/ \
 		ftp://ftp.sra.co.jp/pub/misc/eb/old/eb-${PORTVERSION:C/^([0-9]+)\.([0-9]+).*/\1.\2/}/
@@ -17,58 +17,27 @@ COMMENT=	C library for accessing EB, EBG, EBXA, and EPWING CD-ROM dictionaries
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-EBFILES=	${DISTNAME}${EXTRACT_SUFX}
-APPENDIXFILES=	appendix/cencro-1.0.tar.gz \
-		appendix/chujiten-2.3.tar.gz \
-		appendix/chujiten2-2.0.tar.gz \
-		appendix/chujiten6-2.3.tar.gz \
-		appendix/colloc-2.0.tar.gz \
-		appendix/crownfj-2.0.tar.gz \
-		appendix/crownfj2-1.0.tar.gz \
-		appendix/crowngj-1.0.tar.gz \
-		appendix/daihyakka-1.0.tar.gz \
-		appendix/daijirin-2.0.tar.gz \
-		appendix/dd75-2.0.tar.gz \
-		appendix/gendai2000-1.0.tar.gz \
-		appendix/genius-1.0.tar.gz \
-		appendix/genius2-1.1.tar.gz \
-		appendix/global-2.0.tar.gz \
-		appendix/heritage-2.2.tar.gz \
-		appendix/hyogen-1.0.tar.gz \
-		appendix/izumi-2.0.tar.gz \
-		appendix/jitenban-2.4.tar.gz \
-		appendix/jitenban97-2.1.tar.gz \
-		appendix/kanjigen-2.0.tar.gz \
-		appendix/kanjigen2-2.0.tar.gz \
-		appendix/kojien-2.3.tar.gz \
-		appendix/kojien2-2.0.tar.gz \
-		appendix/kojien4-2.2.tar.gz \
-		appendix/oxford-2.0.tar.gz \
-		appendix/plus-2.0.tar.gz \
-		appendix/readers-2.2.tar.gz \
-		appendix/readers2-2.0.tar.gz \
-		appendix/ruigigo-1.0.tar.gz \
-		appendix/superdic98-1.0.tar.gz
+USES=		autoreconf iconv libtool perl5 tar:bzip2
+USE_LDCONFIG=	yes
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--with-iconv-includes=${ICONV_PREFIX}/include \
+		--with-iconv-libraries=${ICONV_PREFIX}/lib \
+		--with-pkgdocdir=${DOCSDIR}
+CONFIGURE_ENV=	ac_cv_path_PERL=${PERL}
 
-PORTDOCS=	eb-01.html eb-02.html eb-03.html eb-04.html eb-05.html eb-06.html \
-		eb-07.html eb-08.html eb-09.html eb-10.html eb-11.html eb-12.html \
-		eb-13.html eb-14.html eb.html ebappendix-01.html ebappendix-02.html \
-		ebappendix-03.html ebappendix-04.html ebappendix.html ebfont-01.html \
+PORTDOCS=	eb-01.html eb-02.html eb-03.html eb-04.html eb-05.html \
+		eb-06.html eb-07.html eb-08.html eb-09.html eb-10.html \
+		eb-11.html eb-12.html eb-13.html eb-14.html eb.html \
+		ebappendix-01.html ebappendix-02.html ebappendix-03.html \
+		ebappendix-04.html ebappendix.html ebfont-01.html \
 		ebfont-02.html ebfont-03.html ebfont-04.html ebfont.html \
 		ebinfo-01.html ebinfo-02.html ebinfo-03.html ebinfo-04.html \
 		ebinfo-05.html ebinfo.html ebrefile-01.html ebrefile-02.html \
-		ebrefile-03.html ebrefile.html ebstopcode-01.html ebstopcode-02.html \
-		ebstopcode-03.html ebstopcode.html ebzip-01.html ebzip-02.html \
-		ebzip-03.html ebzip-04.html ebzip-05.html ebzip-06.html ebzip-07.html \
-		ebzip-08.html ebzip-09.html ebzip-10.html ebzip.html
-
-USES=		autoreconf iconv libtool perl5 tar:bzip2
-GNU_CONFIGURE=	yes
-USE_LDCONFIG=	yes
-CONFIGURE_ARGS=	--with-pkgdocdir=${DOCSDIR} \
-		--with-iconv-includes=${ICONV_PREFIX}/include \
-		--with-iconv-libraries=${ICONV_PREFIX}/lib
-CONFIGURE_ENV=	ac_cv_path_PERL=${PERL}
+		ebrefile-03.html ebrefile.html ebstopcode-01.html \
+		ebstopcode-02.html ebstopcode-03.html ebstopcode.html \
+		ebzip-01.html ebzip-02.html ebzip-03.html ebzip-04.html \
+		ebzip-05.html ebzip-06.html ebzip-07.html ebzip-08.html \
+		ebzip-09.html ebzip-10.html ebzip.html
 
 OPTIONS_DEFINE=	DOCS NLS
 OPTIONS_SUB=	yes
@@ -76,10 +45,28 @@ OPTIONS_SUB=	yes
 APPENDIXDIR=	${DATADIR}/appendix
 
 NLS_USES=		gettext
-NLS_CONFIGURE_ENABLE=	nls
 NLS_CONFIGURE_ON=	--with-gettext-includes=${LOCALBASE}/include \
 			--with-gettext-libraries=${LOCALBASE}/lib
 NLS_CONFIGURE_OFF=	--disable-nls
+NLS_CONFIGURE_ENABLE=	nls
+
+EBFILES=	${DISTNAME}${EXTRACT_SUFX}
+APPENDIXFILES=	appendix/cencro-1.0.tar.gz appendix/chujiten-2.3.tar.gz \
+		appendix/chujiten2-2.0.tar.gz appendix/chujiten6-2.3.tar.gz \
+		appendix/colloc-2.0.tar.gz appendix/crownfj-2.0.tar.gz \
+		appendix/crownfj2-1.0.tar.gz appendix/crowngj-1.0.tar.gz \
+		appendix/daihyakka-1.0.tar.gz appendix/daijirin-2.0.tar.gz \
+		appendix/dd75-2.0.tar.gz appendix/gendai2000-1.0.tar.gz \
+		appendix/genius-1.0.tar.gz appendix/genius2-1.1.tar.gz \
+		appendix/global-2.0.tar.gz appendix/heritage-2.2.tar.gz \
+		appendix/hyogen-1.0.tar.gz appendix/izumi-2.0.tar.gz \
+		appendix/jitenban-2.4.tar.gz appendix/jitenban97-2.1.tar.gz \
+		appendix/kanjigen-2.0.tar.gz appendix/kanjigen2-2.0.tar.gz \
+		appendix/kojien-2.3.tar.gz appendix/kojien2-2.0.tar.gz \
+		appendix/kojien4-2.2.tar.gz appendix/oxford-2.0.tar.gz \
+		appendix/plus-2.0.tar.gz appendix/readers-2.2.tar.gz \
+		appendix/readers2-2.0.tar.gz appendix/ruigigo-1.0.tar.gz \
+		appendix/superdic98-1.0.tar.gz
 
 post-extract:
 	${RM} -r ${WRKSRC}/zlib
diff --git a/japanese/eb/files/patch-eb_multiplex.c b/japanese/eb/files/patch-eb_multiplex.c
new file mode 100644
index 000000000000..8f21849dab2b
--- /dev/null
+++ b/japanese/eb/files/patch-eb_multiplex.c
@@ -0,0 +1,11 @@
+--- eb/multiplex.c.orig	2010-01-03 12:26:06 UTC
++++ eb/multiplex.c
+@@ -876,7 +876,7 @@ ebnet_set_file_path(int file, const char *file_path)
+ 	return -1;
+ 
+     strncpy(entry->file_path, file_path, EB_MAX_RELATIVE_PATH_LENGTH + 1);
+-    *(entry->file_path + EB_MAX_RELATIVE_PATH_LENGTH + 1) = '\0';
++    *(entry->file_path + EB_MAX_RELATIVE_PATH_LENGTH) = '\0';
+ 
+     return 0;
+ }