summaryrefslogtreecommitdiff
path: root/util/cbfstool
diff options
context:
space:
mode:
Diffstat (limited to 'util/cbfstool')
-rw-r--r--util/cbfstool/cbfs_image.c3
-rw-r--r--util/cbfstool/cbfs_image.h3
-rw-r--r--util/cbfstool/cbfstool.c9
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);