Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Nov 2013 09:22:32 +0000 (UTC)
From:      Colin Percival <cperciva@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r258124 - head/usr.sbin/portsnap/portsnap
Message-ID:  <201311140922.rAE9MW39043456@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cperciva
Date: Thu Nov 14 09:22:32 2013
New Revision: 258124
URL: http://svnweb.freebsd.org/changeset/base/258124

Log:
  When verifying that files we need are present, also check that they don't
  have zero length.  Filesystem corruption will tend to truncate files, and
  since these are short that's likely to result in them becoming empty.
  
  Suggested by:	Richard Clayton
  Convinced by:	rwatson
  MFC after:	3 weeks

Modified:
  head/usr.sbin/portsnap/portsnap/portsnap.sh

Modified: head/usr.sbin/portsnap/portsnap/portsnap.sh
==============================================================================
--- head/usr.sbin/portsnap/portsnap/portsnap.sh	Thu Nov 14 09:19:50 2013	(r258123)
+++ head/usr.sbin/portsnap/portsnap/portsnap.sh	Thu Nov 14 09:22:32 2013	(r258124)
@@ -952,7 +952,7 @@ extract_run() {
 			cat ${WORKDIR}/INDEX
 		fi | while read FILE HASH; do
 		echo ${PORTSDIR}/${FILE}
-		if ! [ -r "${WORKDIR}/files/${HASH}.gz" ]; then
+		if ! [ -s "${WORKDIR}/files/${HASH}.gz" ]; then
 			echo "files/${HASH}.gz not found -- snapshot corrupt."
 			return 1
 		fi
@@ -996,7 +996,7 @@ update_run_extract() {
 	    comm -13 ${PORTSDIR}/.portsnap.INDEX - |
 	    while read FILE HASH; do
 		echo ${PORTSDIR}/${FILE}
-		if ! [ -r "${WORKDIR}/files/${HASH}.gz" ]; then
+		if ! [ -s "${WORKDIR}/files/${HASH}.gz" ]; then
 			echo "files/${HASH}.gz not found -- snapshot corrupt."
 			return 1
 		fi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311140922.rAE9MW39043456>