|
From: openocd-gerrit <ope...@us...> - 2023-09-08 22:02:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via d41a204d8224dad66265e694e5ccf3379de0d494 (commit)
from 62f76b2169302b9500deea737a017168271824ac (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d41a204d8224dad66265e694e5ccf3379de0d494
Author: Marek Vrbka <mar...@co...>
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 patch makes OpenOCD detect these cases
as binary files.
Change-Id: I5b4dad2b547786246887812ac75907378fe58671
Signed-off-by: Marek Vrbka <mar...@co...>
Reviewed-on: https://review.openocd.org/c/openocd/+/7880
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/target/image.c b/src/target/image.c
index f8de7a23e..ad2d856b5 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;
}
-----------------------------------------------------------------------
Summary of changes:
src/target/image.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|