summaryrefslogtreecommitdiff
path: root/util/cbfstool
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@chromium.org>2016-12-14 16:16:47 +0100
committerPatrick Georgi <pgeorgi@google.com>2016-12-15 22:58:38 +0100
commit8099803c4657994de6ef02150c99fd178527c80a (patch)
tree7e41d7dc283faaf6642226174bf60f677699258f /util/cbfstool
parent6b2d2db9eb514f6c54cf951fe864e052b680edef (diff)
util/cbfstool: Handle error condition more carefully
Change-Id: I72a7776d530d1cf0b8fa39e558990df3dc7f7805 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Found-by: Coverity Scan #1295494 Reviewed-on: https://review.coreboot.org/17861 Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins)
Diffstat (limited to 'util/cbfstool')
-rw-r--r--util/cbfstool/common.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/util/cbfstool/common.c b/util/cbfstool/common.c
index 3093ba1465..5a47c2f45b 100644
--- a/util/cbfstool/common.c
+++ b/util/cbfstool/common.c
@@ -71,12 +71,13 @@ int buffer_from_file(struct buffer *buffer, const char *filename)
return -1;
}
buffer->offset = 0;
- buffer->size = get_file_size(fp);
- if (buffer->size == -1u) {
+ off_t file_size = get_file_size(fp);
+ if (file_size < 0) {
fprintf(stderr, "could not determine size of %s\n", filename);
fclose(fp);
return -1;
}
+ buffer->size = file_size;
buffer->name = strdup(filename);
buffer->data = (char *)malloc(buffer->size);
assert(buffer->data);