summaryrefslogtreecommitdiffstats
path: root/usr.sbin/portsnap
diff options
context:
space:
mode:
authorcperciva <cperciva@FreeBSD.org>2013-11-14 09:22:32 +0000
committercperciva <cperciva@FreeBSD.org>2013-11-14 09:22:32 +0000
commit12cf4d4a0c9e518e6941f34b55f3e69d6f58f6f1 (patch)
tree28461427314de7796639479f424822d41b49891e /usr.sbin/portsnap
parent9c651d823be494a9db6aa0980c637c6c14e396bb (diff)
downloadFreeBSD-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.sh4
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
OpenPOWER on IntegriCloud