summaryrefslogtreecommitdiff
path: root/src/data_layout.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data_layout.c')
-rw-r--r--src/data_layout.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/data_layout.c b/src/data_layout.c
index 2ed486b..8301aec 100644
--- a/src/data_layout.c
+++ b/src/data_layout.c
@@ -218,8 +218,10 @@ write_page(build_image_context *context,
return -ENOMEM;
if (block->data == NULL)
return -ENOMEM;
- assert(((page_number + 1) * context->page_size)
- <= context->block_size);
+ if (((page_number + 1) * context->page_size) > context->block_size) {
+ printf("Page number outside block; likely config file error.\n");
+ return -ENOMEM;
+ }
if (block->pages_used != page_number) {
printf("Warning: Writing page in block out of order.\n");
@@ -838,6 +840,11 @@ begin_update(build_image_context *context)
assert(context);
+ if (context->page_size_log2 < NVBOOT_AES_BLOCK_SIZE_LOG2) {
+ printf("Page size is too small; likely config file error\n");
+ return 1;
+ }
+
/* Ensure that the BCT block & page data is current. */
if (enable_debug) {
uint32_t block_size_log2;