From owner-svn-ports-head@freebsd.org Mon Feb 17 21:54:24 2020 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9AB142483BB; Mon, 17 Feb 2020 21:54:24 +0000 (UTC) (envelope-from mandree@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48LySJ2nDQz4fNl; Mon, 17 Feb 2020 21:54:24 +0000 (UTC) (envelope-from mandree@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2B431DC1C; Mon, 17 Feb 2020 21:54:24 +0000 (UTC) (envelope-from mandree@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 01HLsNvF032739; Mon, 17 Feb 2020 21:54:23 GMT (envelope-from mandree@FreeBSD.org) Received: (from mandree@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 01HLsND0032738; Mon, 17 Feb 2020 21:54:23 GMT (envelope-from mandree@FreeBSD.org) Message-Id: <202002172154.01HLsND0032738@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mandree set sender to mandree@FreeBSD.org using -f From: Matthias Andree Date: Mon, 17 Feb 2020 21:54:23 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r526434 - in head/sysutils/e2fsprogs: . files X-SVN-Group: ports-head X-SVN-Commit-Author: mandree X-SVN-Commit-Paths: in head/sysutils/e2fsprogs: . files X-SVN-Commit-Revision: 526434 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Feb 2020 21:54:24 -0000 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 (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 + + libext2fs: avoid array buffer overruns caused by insane directory blocks + + Reported-by: canardo909@gmx.com + Signed-off-by: Theodore Ts'o + +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);