Merge Android R

Bug: 168057903
Merged-In: Id72cfafe90e134554fab7d21fa0f94181d68e11d
Change-Id: I45ada78019c2c86558c8941e915d01ed58f8e569
diff --git a/libavb/avb_descriptor.c b/libavb/avb_descriptor.c
index 1f451ca..222a616 100644
--- a/libavb/avb_descriptor.c
+++ b/libavb/avb_descriptor.c
@@ -114,6 +114,10 @@
   desc_end = desc_start + desc_size;
 
   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;
     uint64_t nb_following;
     uint64_t nb_total = 0;