diff options
author | cperciva <cperciva@FreeBSD.org> | 2013-11-14 09:22:32 +0000 |
---|---|---|
committer | cperciva <cperciva@FreeBSD.org> | 2013-11-14 09:22:32 +0000 |
commit | 12cf4d4a0c9e518e6941f34b55f3e69d6f58f6f1 (patch) | |
tree | 28461427314de7796639479f424822d41b49891e /usr.sbin/portsnap | |
parent | 9c651d823be494a9db6aa0980c637c6c14e396bb (diff) | |
download | FreeBSD-src-12cf4d4a0c9e518e6941f34b55f3e69d6f58f6f1.zip FreeBSD-src-12cf4d4a0c9e518e6941f34b55f3e69d6f58f6f1.tar.gz |
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
Diffstat (limited to 'usr.sbin/portsnap')
-rw-r--r-- | usr.sbin/portsnap/portsnap/portsnap.sh | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/portsnap/portsnap/portsnap.sh b/usr.sbin/portsnap/portsnap/portsnap.sh index 1cc2da8..81efbb7 100644 --- a/usr.sbin/portsnap/portsnap/portsnap.sh +++ b/usr.sbin/portsnap/portsnap/portsnap.sh @@ -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 |