summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/2lib/2misc.c6
-rw-r--r--tests/vb2_api_tests.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/firmware/2lib/2misc.c b/firmware/2lib/2misc.c
index 66a31e83..c14aab55 100644
--- a/firmware/2lib/2misc.c
+++ b/firmware/2lib/2misc.c
@@ -43,10 +43,14 @@ uint32_t vb2api_get_firmware_size(struct vb2_context *ctx)
{
struct vb2_shared_data *sd = vb2_get_sd(ctx);
if (!sd->preamble_size)
- return 0;
+ VB2_DIE("Firmware preamble size is zero\n");
const struct vb2_fw_preamble *pre = (const struct vb2_fw_preamble *)
vb2_member_of(sd, sd->preamble_offset);
+
+ if (!pre->body_signature.data_size)
+ VB2_DIE("Firmware body data size in signature is zero\n");
+
return pre->body_signature.data_size;
}
diff --git a/tests/vb2_api_tests.c b/tests/vb2_api_tests.c
index 3ed8bd5f..2ff69e8d 100644
--- a/tests/vb2_api_tests.c
+++ b/tests/vb2_api_tests.c
@@ -288,7 +288,7 @@ static void misc_tests(void)
reset_common_data(FOR_MISC);
sd->preamble_size = 0;
- TEST_EQ(vb2api_get_firmware_size(ctx), 0, "firmware_size too early");
+ TEST_ABORT(vb2api_get_firmware_size(ctx), "firmware_size too early");
/* Test VB2_TRY() */
reset_common_data(FOR_MISC);