From: Peng Fan <peng.fan@nxp.com>
Date: Mon, 5 Nov 2018 09:53:22 +0000 (+0000)
Subject: tools: imx8image: check lseek return value
X-Git-Tag: v2025.01-rc5-pxa1908~3297^2~6
X-Git-Url: http://git.dujemihanovic.xyz/img/static/login.html?a=commitdiff_plain;h=fc61cc2ca3bab8fdf38572eb1ccfa6674999c8b8;p=u-boot.git

tools: imx8image: check lseek return value

Check lseek return value.

Fix Coverity CID: 184236 184235 184232

Reported-by: Coverity
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
---

diff --git a/tools/imx8image.c b/tools/imx8image.c
index e6b0a146b6..03debe547e 100644
--- a/tools/imx8image.c
+++ b/tools/imx8image.c
@@ -301,6 +301,7 @@ static void copy_file_aligned(int ifd, const char *datafile, int offset,
 	unsigned char *ptr;
 	uint8_t zeros[0x4000];
 	int size;
+	int ret;
 
 	if (align > 0x4000) {
 		fprintf(stderr, "Wrong alignment requested %d\n", align);
@@ -333,7 +334,13 @@ static void copy_file_aligned(int ifd, const char *datafile, int offset,
 	}
 
 	size = sbuf.st_size;
-	lseek(ifd, offset, SEEK_SET);
+	ret = lseek(ifd, offset, SEEK_SET);
+	if (ret < 0) {
+		fprintf(stderr, "%s: lseek error %s\n",
+			__func__, strerror(errno));
+		exit(EXIT_FAILURE);
+	}
+
 	if (write(ifd, ptr, size) != size) {
 		fprintf(stderr, "Write error %s\n", strerror(errno));
 		exit(EXIT_FAILURE);
@@ -359,7 +366,7 @@ static void copy_file (int ifd, const char *datafile, int pad, int offset)
 	int tail;
 	int zero = 0;
 	uint8_t zeros[4096];
-	int size;
+	int size, ret;
 
 	memset(zeros, 0, sizeof(zeros));
 
@@ -387,7 +394,13 @@ static void copy_file (int ifd, const char *datafile, int pad, int offset)
 	}
 
 	size = sbuf.st_size;
-	lseek(ifd, offset, SEEK_SET);
+	ret = lseek(ifd, offset, SEEK_SET);
+	if (ret < 0) {
+		fprintf(stderr, "%s: lseek error %s\n",
+			__func__, strerror(errno));
+		exit(EXIT_FAILURE);
+	}
+
 	if (write(ifd, ptr, size) != size) {
 		fprintf(stderr, "Write error %s\n",
 			strerror(errno));
@@ -762,6 +775,7 @@ static int build_container(soc_type_t soc, uint32_t sector_size,
 	char *tmp_filename = NULL;
 	uint32_t size = 0;
 	uint32_t file_padding = 0;
+	int ret;
 
 	int container = -1;
 	int cont_img_count = 0; /* indexes to arrange the container */
@@ -883,7 +897,12 @@ static int build_container(soc_type_t soc, uint32_t sector_size,
 	} while (img_sp->option != NO_IMG);
 
 	/* Add padding or skip appended container */
-	lseek(ofd, file_padding, SEEK_SET);
+	ret = lseek(ofd, file_padding, SEEK_SET);
+	if (ret < 0) {
+		fprintf(stderr, "%s: lseek error %s\n",
+			__func__, strerror(errno));
+		exit(EXIT_FAILURE);
+	}
 
 	/* Note: Image offset are not contained in the image */
 	tmp = flatten_container_header(&imx_header, container + 1, &size,