mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-14 04:46:01 +01:00
tools: mkimage: fix sfspl_image_extract_subimage()
Do not leak file descriptor if writing fails. Correct the error text if opening a file fails. Addresses-Coverity-ID: 467054 Resource leaks Fixes: 64fd30d367a1 ("tools: mkimage: Add StarFive SPL image support") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
482a0f1764
commit
54024c8021
@ -99,7 +99,7 @@ static int sfspl_image_extract_subimage(void *ptr,
|
|||||||
{
|
{
|
||||||
struct spl_hdr *hdr = (void *)ptr;
|
struct spl_hdr *hdr = (void *)ptr;
|
||||||
unsigned char *buf = ptr;
|
unsigned char *buf = ptr;
|
||||||
int fd;
|
int fd, ret = EXIT_SUCCESS;
|
||||||
unsigned int hdr_size = le32_to_cpu(hdr->hdr_size);
|
unsigned int hdr_size = le32_to_cpu(hdr->hdr_size);
|
||||||
unsigned int file_size = le32_to_cpu(hdr->file_size);
|
unsigned int file_size = le32_to_cpu(hdr->file_size);
|
||||||
|
|
||||||
@ -110,16 +110,16 @@ static int sfspl_image_extract_subimage(void *ptr,
|
|||||||
|
|
||||||
fd = open(params->outfile, O_WRONLY | O_CREAT | O_TRUNC, 0644);
|
fd = open(params->outfile, O_WRONLY | O_CREAT | O_TRUNC, 0644);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
perror("Can write file");
|
perror("Cannot open file");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
if (write(fd, &buf[hdr_size], file_size) != file_size) {
|
if (write(fd, &buf[hdr_size], file_size) != file_size) {
|
||||||
perror("Cannot write file");
|
perror("Cannot write file");
|
||||||
return EXIT_FAILURE;
|
ret = EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sfspl_check_image_type(uint8_t type)
|
static int sfspl_check_image_type(uint8_t type)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user