revert modules: jsshDB: fix removal of unwanted characters from untrusted input

This commit is contained in:
Kay Marquardt (Gnadelwartz) 2021-03-18 11:30:53 +01:00
parent 85f7c074f4
commit e60ada0bfe

View File

@ -5,7 +5,7 @@
# This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#
#### $$VERSION$$ v1.51-dev-0-g369124b
#### $$VERSION$$ v1.51-dev-3-g85f7c07
#
# source from commands.sh to use jsonDB functions
#
@ -358,7 +358,7 @@ Json2Array() {
# match ["....."]\t and replace \t with = and print delete ` quote true false escape not escaped $
# shellcheck disable=SC1091,SC1090
[ -z "$1" ] || source <( printf "$1"'=( %s )'\
"$(sed -E -n -e 's/[`´]//g' -e 's/\]\t(true|false)/="\1"/' -e 's/([^\]|^)\$/\1\\$/g' -e '/\["[-0-9a-zA-Z_,."]+"\]\+*\t/ s/\t/=/p')" )
"$(sed -E -n -e '/\["[-0-9a-zA-Z_,."]+"\]\+*\t/ s/\t/=/p' -e 's/[`´]//g' -e 's/=(true|false)/="\1"/' -e 's/([^\]|^)\$/\1\\$/g')" )
}
# get Config Key from jssh file without jsshDB
# output ARRAY as JSON.sh style data