From b9ebcd150043f4fd0c8d89b753e2bec6797b9182 Mon Sep 17 00:00:00 2001
From: Rahix <rahix@rahix.de>
Date: Sat, 19 Sep 2020 10:08:33 +0200
Subject: [PATCH] fix(build_multi_image): Add size check for epicardium binary

The linker should already catch this case and error out early but just
to be absolutely sure, add a second check here so we don't get an
unexpectedly large epicardium binary which would overlap into pycardium
storage.

Signed-off-by: Rahix <rahix@rahix.de>
---
 bootloader/build_multi_image.sh | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/bootloader/build_multi_image.sh b/bootloader/build_multi_image.sh
index ac918e118..c4b799a4c 100755
--- a/bootloader/build_multi_image.sh
+++ b/bootloader/build_multi_image.sh
@@ -6,6 +6,11 @@ BIN1="$2"
 BIN2="$3"
 BINOUT="$4"
 
+if [ "$(stat -c "%s" "${BIN1}")" -gt 458752 ]; then
+    echo "$0: ${BIN1} is too big to fit!" >&2
+    exit 1
+fi
+
 objcopy -I binary -O binary --pad-to=458752 --gap-fill=255 "${BIN1}" "$BINOUT"
 cat "$BIN2" >>"$BINOUT"
 
-- 
GitLab