diff options
Diffstat (limited to 'util/cbfstool')
-rw-r--r-- | util/cbfstool/cbfs_image.c | 3 | ||||
-rw-r--r-- | util/cbfstool/cbfs_image.h | 3 | ||||
-rw-r--r-- | util/cbfstool/cbfstool.c | 9 |
3 files changed, 5 insertions, 10 deletions
diff --git a/util/cbfstool/cbfs_image.c b/util/cbfstool/cbfs_image.c index f93cfef71b..315cbe5573 100644 --- a/util/cbfstool/cbfs_image.c +++ b/util/cbfstool/cbfs_image.c @@ -533,7 +533,7 @@ static int cbfs_add_entry_at(struct cbfs_image *image, int cbfs_add_entry(struct cbfs_image *image, struct buffer *buffer, uint32_t content_offset, - struct cbfs_file *header, uint32_t header_size) + struct cbfs_file *header) { assert(image); assert(buffer); @@ -546,6 +546,7 @@ int cbfs_add_entry(struct cbfs_image *image, struct buffer *buffer, uint32_t addr, addr_next; struct cbfs_file *entry, *next; uint32_t need_size; + uint32_t header_size = ntohl(header->offset); need_size = header_size + buffer->size; DEBUG("cbfs_add_entry('%s'@0x%x) => need_size = %u+%zu=%u\n", diff --git a/util/cbfstool/cbfs_image.h b/util/cbfstool/cbfs_image.h index c1983e7757..7a9b48402f 100644 --- a/util/cbfstool/cbfs_image.h +++ b/util/cbfstool/cbfs_image.h @@ -93,8 +93,7 @@ int cbfs_export_entry(struct cbfs_image *image, const char *entry_name, * Never pass this function a top-aligned address: convert it to an offset. * Returns 0 on success, otherwise non-zero. */ int cbfs_add_entry(struct cbfs_image *image, struct buffer *buffer, - uint32_t content_offset, - struct cbfs_file *header, uint32_t header_size); + uint32_t content_offset, struct cbfs_file *header); /* Removes an entry from CBFS image. Returns 0 on success, otherwise non-zero. */ int cbfs_remove_entry(struct cbfs_image *image, const char *name); diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c index 0939a06002..0481e7d0ba 100644 --- a/util/cbfstool/cbfstool.c +++ b/util/cbfstool/cbfstool.c @@ -154,9 +154,7 @@ static int cbfs_add_integer_component(const char *name, header = cbfs_create_file_header(CBFS_COMPONENT_RAW, buffer.size, name); - uint32_t header_size = cbfs_calculate_file_header_size(name); - if (cbfs_add_entry(&image, &buffer, - offset, header, header_size) != 0) { + if (cbfs_add_entry(&image, &buffer, offset, header) != 0) { ERROR("Failed to add %llu into ROM image as '%s'.\n", (long long unsigned)u64val, name); goto done; @@ -209,7 +207,6 @@ static int cbfs_add_component(const char *filename, struct cbfs_file *header = cbfs_create_file_header(type, buffer.size, name); - uint32_t header_size = cbfs_calculate_file_header_size(name); if (convert && convert(&buffer, &offset, header) != 0) { ERROR("Failed to parse file '%s'.\n", filename); @@ -221,9 +218,7 @@ static int cbfs_add_component(const char *filename, offset = convert_to_from_top_aligned(param.image_region, -offset); - if (cbfs_add_entry(&image, &buffer, offset, - header, header_size) - != 0) { + if (cbfs_add_entry(&image, &buffer, offset, header) != 0) { ERROR("Failed to add '%s' into ROM image.\n", filename); free(header); buffer_delete(&buffer); |