diff options
-rw-r--r-- | firmware/2lib/2misc.c | 6 | ||||
-rw-r--r-- | tests/vb2_api_tests.c | 2 |
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); |