vboot2: Use more specific error codes, part 2

Error codes reported by the aligment checks in common.c are now very
specific, and tests verify the proper errors are reported.

Changed args to vb2_member_inside() so I can force wraparounds.

BUG=chromium:370082
BRANCH=none
TEST=make clean && VBOOT2=1 COV=1 make

Change-Id: Ib135674e82005b76bce7a83a1f4a65a9c5296cf4
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/202937
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
This commit is contained in:
Randall Spangler
2014-06-06 09:30:14 -07:00
committed by chrome-internal-fetch
parent b9be53640e
commit 2145721c3c
4 changed files with 103 additions and 65 deletions

View File

@@ -151,10 +151,10 @@ uint8_t *vb2_signature_data(struct vb2_signature *sig);
* @param member_data_size Size of member data in bytes
* @return VB2_SUCCESS, or non-zero if error.
*/
int vb2_verify_member_inside(const void *parent, uint32_t parent_size,
const void *member, uint32_t member_size,
uint32_t member_data_offset,
uint32_t member_data_size);
int vb2_verify_member_inside(const void *parent, size_t parent_size,
const void *member, size_t member_size,
ptrdiff_t member_data_offset,
size_t member_data_size);
/**
* Verify a signature is fully contained in its parent data