diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-12-26 14:49:18 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-12-26 14:49:18 +0100 |
commit | 5c51adf5f79266de2b483c2461babd4d673cfffb (patch) | |
tree | 0c5a093ed402c9b28d36d5f1fb32f0258a98143f | |
parent | 123d651ff52ea523486cbae98ac13aca8dcfb2b8 (diff) | |
download | px4-firmware-5c51adf5f79266de2b483c2461babd4d673cfffb.tar.gz px4-firmware-5c51adf5f79266de2b483c2461babd4d673cfffb.tar.bz2 px4-firmware-5c51adf5f79266de2b483c2461babd4d673cfffb.zip |
bl_update: Improve bootloader error reporting
-rw-r--r-- | src/systemcmds/bl_update/bl_update.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/systemcmds/bl_update/bl_update.c b/src/systemcmds/bl_update/bl_update.c index 0569d89f5..ec9269d39 100644 --- a/src/systemcmds/bl_update/bl_update.c +++ b/src/systemcmds/bl_update/bl_update.c @@ -52,6 +52,8 @@ #include "systemlib/systemlib.h" #include "systemlib/err.h" +#define BL_FILE_SIZE_LIMIT 16384 + __EXPORT int bl_update_main(int argc, char *argv[]); static void setopt(void); @@ -72,12 +74,12 @@ bl_update_main(int argc, char *argv[]) struct stat s; - if (stat(argv[1], &s) < 0) + if (!stat(argv[1], &s)) err(1, "stat %s", argv[1]); /* sanity-check file size */ - if (s.st_size > 16384) - errx(1, "%s: file too large", argv[1]); + if (s.st_size > BL_FILE_SIZE_LIMIT) + errx(1, "%s: file too large (limit: %u, actual: %d)", argv[1], BL_FILE_SIZE_LIMIT, s.st_size); uint8_t *buf = malloc(s.st_size); |