Date: Mon, 17 Feb 2020 21:54:23 +0000 (UTC) From: Matthias Andree <mandree@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r526434 - in head/sysutils/e2fsprogs: . files Message-ID: <202002172154.01HLsND0032738@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mandree Date: Mon Feb 17 21:54:23 2020 New Revision: 526434 URL: https://svnweb.freebsd.org/changeset/ports/526434 Log: sysutils/e2fsprogs: Fix powerpc32 build PR: 242798 Reported by: canardo909@gmx.com Obtained from: Theodore Y. Ts'o <tytso@mit.edu> (upstream maintainer) MFH: 2020Q1 (fixes build on powerpc) Added: head/sysutils/e2fsprogs/files/patch-lib_ext2fs_swapfs.c (contents, props changed) Modified: head/sysutils/e2fsprogs/Makefile Modified: head/sysutils/e2fsprogs/Makefile ============================================================================== --- head/sysutils/e2fsprogs/Makefile Mon Feb 17 21:52:57 2020 (r526433) +++ head/sysutils/e2fsprogs/Makefile Mon Feb 17 21:54:23 2020 (r526434) @@ -3,7 +3,7 @@ PORTNAME= e2fsprogs PORTVERSION= 1.45.5 -PORTREVISION?= 3 +PORTREVISION?= 4 CATEGORIES?= sysutils MASTER_SITES= KERNEL_ORG/linux/kernel/people/tytso/${PORTNAME}/v${PORTVERSION} @@ -16,8 +16,6 @@ LICENSE_FILE?= ${WRKSRC}/NOTICE .endif LICENSE_DISTFILES_GPLv2+ = ${DISTNAME}${EXTRACT_SUFX} -PORTSCOUT= ignore # cannot handle the version in the directory - USES= cpe gmake makeinfo pkgconfig tar:xz CPE_VENDOR= e2fsprogs_project USE_CSTD= gnu99 @@ -46,6 +44,8 @@ CONFIGURE_ENV?= LIBS='-Wl,--as-needed ${LIBS} -lexecin CPPFLAGS+= -I${WRKSRC}/lib -I${LOCALBASE}/include # -D_EXT2_USE_C_VERSIONS MAKE_ARGS+= pkgconfigdir='${PREFIX}/libdata/pkgconfig' MAKE_ENV+= CHECK_CMD=@true + +PORTSCOUT= ignore # cannot handle the version in the directory .if !defined(MASTERDIR) INSTALL_TARGET= install install-libs Added: head/sysutils/e2fsprogs/files/patch-lib_ext2fs_swapfs.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/e2fsprogs/files/patch-lib_ext2fs_swapfs.c Mon Feb 17 21:54:23 2020 (r526434) @@ -0,0 +1,59 @@ +Author: Theodore Ts'o <tytso@mit.edu> + + libext2fs: avoid array buffer overruns caused by insane directory blocks + + Reported-by: canardo909@gmx.com + Signed-off-by: Theodore Ts'o <tytso@mit.edu> + +Additionally line 441 was modified to "return 0" after e-mail exchange +between Canardo and Theodore. // mandree@FreeBSD.org 2020-02-17 + +--- lib/ext2fs/swapfs.c.orig 2020-01-06 23:10:17 UTC ++++ lib/ext2fs/swapfs.c +@@ -416,10 +416,11 @@ errcode_t ext2fs_dirent_swab_in2(ext2_filsys fs, char + errcode_t retval; + char *p, *end; + struct ext2_dir_entry *dirent; +- unsigned int name_len, rec_len; ++ unsigned int name_len, rec_len, left; + + p = (char *) buf; + end = (char *) buf + size; ++ left = size; + while (p < end-8) { + dirent = (struct ext2_dir_entry *) p; + dirent->inode = ext2fs_swab32(dirent->inode); +@@ -436,6 +437,9 @@ errcode_t ext2fs_dirent_swab_in2(ext2_filsys fs, char + retval = EXT2_ET_DIR_CORRUPTED; + } else if (((name_len & 0xFF) + 8) > rec_len) + retval = EXT2_ET_DIR_CORRUPTED; ++ if (rec_len > left) ++ return 0; ++ left -= rec_len; + p += rec_len; + } + +@@ -452,11 +456,12 @@ errcode_t ext2fs_dirent_swab_out2(ext2_filsys fs, char + { + errcode_t retval; + char *p, *end; +- unsigned int rec_len; ++ unsigned int rec_len, left; + struct ext2_dir_entry *dirent; + + p = buf; + end = buf + size; ++ left = size; + while (p < end) { + dirent = (struct ext2_dir_entry *) p; + retval = ext2fs_get_rec_len(fs, dirent, &rec_len); +@@ -471,6 +476,9 @@ errcode_t ext2fs_dirent_swab_out2(ext2_filsys fs, char + dirent->inode = ext2fs_swab32(dirent->inode); + dirent->rec_len = ext2fs_swab16(dirent->rec_len); + dirent->name_len = ext2fs_swab16(dirent->name_len); ++ if (rec_len > size) ++ return EXT2_ET_DIR_CORRUPTED; ++ size -= rec_len; + + if (flags & EXT2_DIRBLOCK_V2_STRUCT) + dirent->name_len = ext2fs_swab16(dirent->name_len);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202002172154.01HLsND0032738>