This is an automated email from Gerrit. "Marek Vrbka <marek.vr...@codasip.com>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/7880
-- gerrit commit efe2e5f3fbd5a626028c9bc55dd80db0290c25e6 Author: Marek Vrbka <marek.vr...@codasip.com> Date: Thu Aug 31 08:30:37 2023 +0200 image: fix binary detection for small files Previously, if the image file was less than 9 bytes long, it was assumed to be an error when it could be a binary image file. This makes OpenOCD detect these cases as binary files. Change-Id: I5b4dad2b547786246887812ac75907378fe58671 Signed-off-by: Marek Vrbka <marek.vr...@codasip.com> diff --git a/src/target/image.c b/src/target/image.c index f8de7a23e3..81b14aac8e 100644 --- a/src/target/image.c +++ b/src/target/image.c @@ -50,12 +50,15 @@ static int autodetect_image_type(struct image *image, const char *url) if (retval != ERROR_OK) return retval; retval = fileio_read(fileio, 9, buffer, &read_bytes); + fileio_close(fileio); - if (retval == ERROR_OK) { - if (read_bytes != 9) - retval = ERROR_FILEIO_OPERATION_FAILED; + /* If the file is smaller than 9 bytes, it can only be bin */ + if (retval == ERROR_OK && read_bytes != 9) { + LOG_DEBUG("Less than 9 bytes in the image file found.") + LOG_DEBUG("BIN image detected.") + image->type = IMAGE_BINARY; + return ERROR_OK; } - fileio_close(fileio); if (retval != ERROR_OK) return retval; @@ -82,8 +85,10 @@ static int autodetect_image_type(struct image *image, const char *url) && (buffer[1] >= '0') && (buffer[1] < '9')) { LOG_DEBUG("S19 image detected."); image->type = IMAGE_SRECORD; - } else + } else { + LOG_DEBUG("BIN image detected.") image->type = IMAGE_BINARY; + } return ERROR_OK; } --