From 7d1764373a690ce8a515995573d6d8e6cf550b01 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 19 Jun 2020 12:51:49 +0200 Subject: scripts: imx-image: Only set DCD pointer when we have DCD data When we do not have any DCD data we can set the pointer to the data to NULL. Signed-off-by: Sascha Hauer --- scripts/imx/imx-image.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'scripts') diff --git a/scripts/imx/imx-image.c b/scripts/imx/imx-image.c index ec7444a772..2481ae6403 100644 --- a/scripts/imx/imx-image.c +++ b/scripts/imx/imx-image.c @@ -329,7 +329,8 @@ static size_t add_header_v2(const struct config_data *data, void *buf) hdr->header.version = IVT_VERSION; hdr->entry = loadaddr + HEADER_LEN; - hdr->dcd_ptr = loadaddr + offset + offsetof(struct imx_flash_header_v2, dcd_header); + if (dcdsize) + hdr->dcd_ptr = loadaddr + offset + offsetof(struct imx_flash_header_v2, dcd_header); if (create_usb_image) { dcd_ptr_content = hdr->dcd_ptr; dcd_ptr_offset = offsetof(struct imx_flash_header_v2, dcd_ptr) + offset; @@ -357,13 +358,14 @@ static size_t add_header_v2(const struct config_data *data, void *buf) hdr->boot_data.size += CSF_LEN; } - hdr->dcd_header.tag = TAG_DCD_HEADER; - hdr->dcd_header.length = htobe16(sizeof(uint32_t) + dcdsize); - hdr->dcd_header.version = DCD_VERSION; - buf += sizeof(*hdr); - memcpy(buf, dcdtable, dcdsize); + if (dcdsize) { + hdr->dcd_header.tag = TAG_DCD_HEADER; + hdr->dcd_header.length = htobe16(sizeof(uint32_t) + dcdsize); + hdr->dcd_header.version = DCD_VERSION; + memcpy(buf, dcdtable, dcdsize); + } return imagesize; } -- cgit v1.2.3