aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-09-14 20:09:06 +0000
committerJohn Crispin <blogic@openwrt.org>2015-09-14 20:09:06 +0000
commit62b8a84312803f029a4056cbfbb2090bc42110c2 (patch)
tree028d2d2b53cf46d30904ab29a8fa76f09ca08fcd
parent2539b9f5a333104ace7584a8ed57bd78d697dbbc (diff)
downloadmaster-187ad058-62b8a84312803f029a4056cbfbb2090bc42110c2.tar.gz
master-187ad058-62b8a84312803f029a4056cbfbb2090bc42110c2.tar.bz2
master-187ad058-62b8a84312803f029a4056cbfbb2090bc42110c2.zip
base-files: sysupgrade: quote source image name
get_image() eval a filename without quoting it, resulting in errors with filenames containing characters that need to be escaped. $ sysupgrade -T -f ./cfg\(12\).tar.gz img.bin; echo $? Image check 'platform_check_image' failed. Invalid config file. Please use only .tar.gz files 1 $ mv cfg\(12\).tar.gz cfg_12.tar.gz $ mv img\(1\).bin img.bin sysupgrade -T -f ./cfg_12.tar.gz img.bin; echo $? 0 Enclose the content of $from in double quotes. Signed-off-by: Adrien Schildknecht <adrien+dev@schischi.me> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46919 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/base-files/files/lib/upgrade/common.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
index 189ef69e95..761b4c1795 100644
--- a/package/base-files/files/lib/upgrade/common.sh
+++ b/package/base-files/files/lib/upgrade/common.sh
@@ -184,14 +184,14 @@ get_image() { # <source> [ <command> ]
*) cmd="cat";;
esac
if [ -z "$conc" ]; then
- local magic="$(eval $cmd $from 2>/dev/null | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')"
+ local magic="$(eval $cmd \"$from\" 2>/dev/null | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')"
case "$magic" in
1f8b) conc="zcat";;
425a) conc="bzcat";;
esac
fi
- eval "$cmd $from 2>/dev/null ${conc:+| $conc}"
+ eval "$cmd \"$from\" 2>/dev/null ${conc:+| $conc}"
}
get_magic_word() {