summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDzmitry Yatsushkevich <dmitryya@nestlabs.com>2016-04-27 17:14:57 -0700
committerDzmitry Yatsushkevich <dmitryya@nestlabs.com>2016-04-27 17:42:05 -0700
commit40fb5f401adf6745f359f4be1b1f4287261690ad (patch)
tree12d9226e8c893183cc094ad2131a711d7eb55f71
parent1c83261580df9058d645fdeb1703300b6c254698 (diff)
downloadbvb-40fb5f401adf6745f359f4be1b1f4287261690ad.tar.gz
bvb_refimpl: fix pointer-to-int-cast compiler error
Error: .../brillo/system/bvb/refimpl/bvb_verify.c:168:27: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] if (!bvb_safe_add(NULL, (uint64_t) data, length)) { ^ The error means that converting a pointer to unsigned int can be dangerous. We converts a pointer to 64bit unsigned int which is safe (at least till we are not going to run this code on 128bit system for example) We can make compiler happy by useing uintptr_t as a temp variable. uintptr_t is guaranteed to be wide enough that converting a pointer to uintptr_t and back again will yield the original pointer value. Change-Id: Id94e83942bd2f63fdbd9f8da04d2d4a5892e26c2 Signed-off-by: Dzmitry Yatsushkevich <dmitryya@nestlabs.com>
-rw-r--r--refimpl/bvb_verify.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/refimpl/bvb_verify.c b/refimpl/bvb_verify.c
index 45b675e..dc05580 100644
--- a/refimpl/bvb_verify.c
+++ b/refimpl/bvb_verify.c
@@ -164,8 +164,9 @@ BvbVerifyResult bvb_verify_boot_image(const uint8_t* data,
goto out;
}
+ uintptr_t data_ptr = (uintptr_t) data;
/* Ensure passed in memory doesn't wrap. */
- if (!bvb_safe_add(NULL, (uint64_t) data, length)) {
+ if (!bvb_safe_add(NULL, (uint64_t) data_ptr, length)) {
bvb_debug("Boot image location and length mismatch.\n");
goto out;
}