summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2016-09-07 16:41:48 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-09-14 13:05:04 -0700
commit8f400498c68098d024170ccbcb4b3018b3417799 (patch)
tree522e848f99662dcaadbcea08fb3bc609198ddd2d
parentd8a9ede87c0a0b804ef17c60f3b2baac3498f6ae (diff)
downloadvboot-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.c9
-rw-r--r--utility/tpmc.c2
-rw-r--r--utility/verify_data.c5
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;
}