projects
/
openwrt
/
staging
/
mkresin.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
firmware-utils: mkdlinkfw: fix error handling
[openwrt/staging/mkresin.git]
/
tools
/
firmware-utils
/
src
/
mkdlinkfw-lib.c
diff --git
a/tools/firmware-utils/src/mkdlinkfw-lib.c
b/tools/firmware-utils/src/mkdlinkfw-lib.c
index 3b71fda7db4196f42d69f07539667266ce23d0f9..b3f3f41348527f05e86509cedccb892149a974b2 100644
(file)
--- a/
tools/firmware-utils/src/mkdlinkfw-lib.c
+++ b/
tools/firmware-utils/src/mkdlinkfw-lib.c
@@
-97,6
+97,7
@@
int read_to_buf(const struct file_info *fdata, char *buf)
{
FILE *f;
int ret = EXIT_FAILURE;
{
FILE *f;
int ret = EXIT_FAILURE;
+ size_t read;
f = fopen(fdata->file_name, "r");
if (f == NULL) {
f = fopen(fdata->file_name, "r");
if (f == NULL) {
@@
-104,9
+105,8
@@
int read_to_buf(const struct file_info *fdata, char *buf)
goto out;
}
goto out;
}
- errno = 0;
- fread(buf, fdata->file_size, 1, f);
- if (errno != 0) {
+ read = fread(buf, fdata->file_size, 1, f);
+ if (ferror(f) || read != 1) {
ERRS("unable to read from file \"%s\"", fdata->file_name);
goto out_close;
}
ERRS("unable to read from file \"%s\"", fdata->file_name);
goto out_close;
}