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> Backport of r46919 git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47028 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
ec73b2e383
commit
1898cdc737
|
@ -184,14 +184,14 @@ get_image() { # <source> [ <command> ]
|
||||||
*) cmd="cat";;
|
*) cmd="cat";;
|
||||||
esac
|
esac
|
||||||
if [ -z "$conc" ]; then
|
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
|
case "$magic" in
|
||||||
1f8b) conc="zcat";;
|
1f8b) conc="zcat";;
|
||||||
425a) conc="bzcat";;
|
425a) conc="bzcat";;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "$cmd $from 2>/dev/null ${conc:+| $conc}"
|
eval "$cmd \"$from\" 2>/dev/null ${conc:+| $conc}"
|
||||||
}
|
}
|
||||||
|
|
||||||
get_magic_word() {
|
get_magic_word() {
|
||||||
|
|
Loading…
Reference in New Issue