From 6edd0fd36acb93c8075bbd700ad91f53fc810c0e Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 22 Sep 2024 16:44:25 +0100 Subject: [PATCH] copy-firmware.sh: call ./check_whence.py before parsing the file Currently ./check_whence.py is used when submitting new firmware, while copy-firmware.sh when the firmware is to be consumed. Since the latter does (very little) validation, having a malformed WHENCE file can lead to all sorted of problems. From the obvious, where it errors out, to more serious one where it overwrites or executes something it should not have. Just call check_whence.py and error out. It takes 0.2s on my 5 year old mid-range laptop, so the overhead is negligible. Signed-off-by: Emil Velikov --- copy-firmware.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/copy-firmware.sh b/copy-firmware.sh index fa83492e..0f21022a 100755 --- a/copy-firmware.sh +++ b/copy-firmware.sh @@ -71,6 +71,9 @@ if test -d "$destdir"; then find "$destdir" -type d -empty >/dev/null || warn "destination folder is not empty." fi +$verbose "Checking that WHENCE file is formatted properly" +./check_whence.py || err "check_whence.py has detected errors." + # shellcheck disable=SC2162 # file/folder name can include escaped symbols grep -E '^(RawFile|File):' WHENCE | sed -E -e 's/^(RawFile|File): */\1 /;s/"//g' | while read k f; do test -f "$f" || continue