diff options
author | Randall Spangler <rspangler@chromium.org> | 2016-09-07 16:41:48 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-09-14 13:05:04 -0700 |
commit | 8f400498c68098d024170ccbcb4b3018b3417799 (patch) | |
tree | 522e848f99662dcaadbcea08fb3bc609198ddd2d | |
parent | d8a9ede87c0a0b804ef17c60f3b2baac3498f6ae (diff) | |
download | vboot-8f400498c68098d024170ccbcb4b3018b3417799.tar.gz |
utilities: Fix coverity warnings
Assorted minor code issues, which we should fix so any new errors stand
out more.
BUG=chromium:643769
BRANCH=none
TEST=make runtests
Change-Id: Ifcb50b3dfcc3d376bf6803e9c06f8e68dafd51a0
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/382611
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r-- | utility/load_kernel_test.c | 9 | ||||
-rw-r--r-- | utility/tpmc.c | 2 | ||||
-rw-r--r-- | utility/verify_data.c | 5 |
3 files changed, 12 insertions, 4 deletions
diff --git a/utility/load_kernel_test.c b/utility/load_kernel_test.c index a2800bfa..ee385bf1 100644 --- a/utility/load_kernel_test.c +++ b/utility/load_kernel_test.c @@ -43,8 +43,8 @@ VbError_t VbExDiskRead(VbExDiskHandle_t handle, uint64_t lba_start, return 1; } - fseek(image_file, lba_start * lkp.bytes_per_lba, SEEK_SET); - if (1 != fread(buffer, lba_count * lkp.bytes_per_lba, 1, image_file)) { + if (0 != fseek(image_file, lba_start * lkp.bytes_per_lba, SEEK_SET) || + 1 != fread(buffer, lba_count * lkp.bytes_per_lba, 1, image_file)) { fprintf(stderr, "Read error."); return 1; } @@ -152,6 +152,11 @@ int main(int argc, char* argv[]) { return 1; } printf("Read %" PRIu64 " bytes of key from %s\n", key_size, argv[optind+1]); + if (key_size > 16*1024*1024) { + fprintf(stderr, "Key blob size=%" PRIu64 " is ridiculous.\n", key_size); + free(key_blob); + return 1; + } } /* Initialize the GBB */ diff --git a/utility/tpmc.c b/utility/tpmc.c index 0919a634..baddee65 100644 --- a/utility/tpmc.c +++ b/utility/tpmc.c @@ -320,7 +320,7 @@ static uint32_t HandlerGetOwnership(void) { } static uint32_t HandlerGetRandom(void) { - uint32_t length, size; + uint32_t length, size = 0; uint8_t* bytes; uint32_t result; int i; diff --git a/utility/verify_data.c b/utility/verify_data.c index 95c1bbd5..ed4bcc16 100644 --- a/utility/verify_data.c +++ b/utility/verify_data.c @@ -38,13 +38,16 @@ uint8_t* read_signature(char* input_file, int len) { /* Read the signature into a buffer*/ signature = (uint8_t*) malloc(len); - if (!signature) + if (!signature) { + close(sigfd); return NULL; + } if( (i = read(sigfd, signature, len)) != len ) { fprintf(stderr, "Wrong signature length - Expected = %d, Received = %d\n", len, i); close(sigfd); + free(signature); return NULL; } |