diff options
author | Chris Lamb <chris@chris-lamb.co.uk> | 2008-07-26 00:27:29 +0100 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 19:03:37 +0100 |
commit | b9c6f0a083a0130e9aa829c8f5b418a74e2b2144 (patch) | |
tree | 620db8baff53ecf42888eb2b9d8d5b6e645418f0 | |
parent | 1b37572080c01cdaf6e66a1bc53ca029253e4803 (diff) | |
download | live-build-b9c6f0a083a0130e9aa829c8f5b418a74e2b2144.zip live-build-b9c6f0a083a0130e9aa829c8f5b418a74e2b2144.tar.gz |
Fix cache poisoning issue in lh_binary_debian-installer with 404 downloads
When wget 404's, an target file is created - this poisons the cache as the
file is apparently downloaded but in actuality is simply empty. We fix this
by unconditionally deleting the cache file if wget fails and emitting an
error.
-rwxr-xr-x | helpers/lh_binary_debian-installer | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/helpers/lh_binary_debian-installer b/helpers/lh_binary_debian-installer index 42412b0..b147b12 100755 --- a/helpers/lh_binary_debian-installer +++ b/helpers/lh_binary_debian-installer @@ -207,7 +207,13 @@ Download_file () { if [ ! -f "${_LH_CACHE_FILE}" ] then mkdir -p ${_LH_CACHE_DIR} - wget ${WGET_OPTIONS} -O "${_LH_CACHE_FILE}" "${_LH_URL}" + if ! wget ${WGET_OPTIONS} -O "${_LH_CACHE_FILE}" "${_LH_URL}" + then + rm -f "${_LH_CACHE_FILE}" + + Echo_error "Could not download file: ${_LH_URL}" + exit 1 + fi fi cp -fl "${_LH_CACHE_FILE}" "${_LH_TARGET}" |