[v2,15/18] initscripts fkt: readhash should only parse lines with a =
Commit Message
A line without a = is clearly invalid.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
---
src/initscripts/system/functions | 6 ++++++
tests/src/initscripts/system/functions/data/2 | 1 +
tests/src/initscripts/system/functions/data/2_output_stderr | 1 +
3 files changed, 8 insertions(+)
@@ -911,6 +911,12 @@ readhash() {
continue
fi
+ # Skip lines without a =
+ if ! [[ ${line} =~ [^=]*=[^=]*$ ]]; then
+ echo "Invalid line '${line}'" >&2
+ continue
+ fi
+
local key="${line%=*}"
local val="${line#*=}"
@@ -15,6 +15,7 @@ RED_ADDRESS=0.0.0.0
RED_NETMASK=0.0.0.0
RED_TYPE=PPPOE
RED_NETADDRESS=0.0.0.0
+Line_without_a_equal_sign_is_also_invalid
# Comment for testing
# Comment for testing Comments with spaces before
@@ -6,3 +6,4 @@ Invalid key '-RED_DEV'
Invalid key 'RE??D_MACADDR'
Invalid key 'RED&&_DRIVER'
Invalid key '0BLUE_DEV'
+Invalid line 'Line_without_a_equal_sign_is_also_invalid'