aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-05-01 02:04:17 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-05-01 02:04:17 +0000
commitd59b2591dbf6b87e2e6000b611f5f5a7116d87a5 (patch)
treeaf338c6fe470f4ecf8d78cb1d28caf2edbb6bb9a
parent3e3dbb7d5050df6042a14259baad70ec2d4e2e91 (diff)
parentb7fe9c3b204c94975335e38f3296b418c1ba9bb0 (diff)
downloadavb-android11-d1-s1-release.tar.gz
Change-Id: I294dd8ae4fbc11de2833edc7721b573ba52aad81
-rw-r--r--libavb/avb_descriptor.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavb/avb_descriptor.c b/libavb/avb_descriptor.c
index cfc2aac..7030a40 100644
--- a/libavb/avb_descriptor.c
+++ b/libavb/avb_descriptor.c
@@ -88,6 +88,10 @@ bool avb_descriptor_foreach(const uint8_t* image_data,
}
for (p = desc_start; p < desc_end;) {
+ if (p + sizeof(AvbDescriptor) > desc_end) {
+ avb_error("Invalid descriptor length.\n");
+ goto out;
+ }
const AvbDescriptor* dh = (const AvbDescriptor*)p;
avb_assert_aligned(dh);
uint64_t nb_following = avb_be64toh(dh->num_bytes_following);