[avb] Refactor Payload::verify_partition() to take only one partition

Bug: 256148034
Test: m pvmfw_img && atest libpvmfw_avb.integration_test
Change-Id: I97c9e75bbf49d6bc7e487b9992baeb1ec925abb9
diff --git a/pvmfw/avb/src/verify.rs b/pvmfw/avb/src/verify.rs
index 664da27..ea6a20d 100644
--- a/pvmfw/avb/src/verify.rs
+++ b/pvmfw/avb/src/verify.rs
@@ -464,8 +464,6 @@
 }
 
 impl<'a> Payload<'a> {
-    const MAX_NUM_OF_HASH_DESCRIPTORS: usize = 3;
-
     fn get_partition(&self, partition_name: *const c_char) -> Result<&[u8], AvbIOError> {
         is_not_null(partition_name)?;
         // SAFETY: It is safe as the raw pointer `partition_name` is a nonnull pointer.
@@ -478,19 +476,11 @@
         }
     }
 
-    fn verify_partitions(
+    fn verify_partition(
         &mut self,
-        partition_names: &[&CStr],
+        partition_name: &CStr,
     ) -> Result<AvbSlotVerifyDataWrap, AvbSlotVerifyError> {
-        if partition_names.len() > Self::MAX_NUM_OF_HASH_DESCRIPTORS {
-            return Err(AvbSlotVerifyError::InvalidArgument);
-        }
-        let mut requested_partitions = [ptr::null(); Self::MAX_NUM_OF_HASH_DESCRIPTORS + 1];
-        partition_names
-            .iter()
-            .enumerate()
-            .for_each(|(i, name)| requested_partitions[i] = name.as_ptr());
-
+        let requested_partitions = [partition_name.as_ptr(), ptr::null()];
         let mut avb_ops = AvbOps {
             user_data: self as *mut _ as *mut c_void,
             ab_ops: ptr::null_mut(),
@@ -562,7 +552,7 @@
     trusted_public_key: &[u8],
 ) -> Result<(), AvbSlotVerifyError> {
     let mut payload = Payload { kernel, initrd, trusted_public_key };
-    let kernel_verify_result = payload.verify_partitions(&[PartitionName::Kernel.as_cstr()])?;
+    let kernel_verify_result = payload.verify_partition(PartitionName::Kernel.as_cstr())?;
     let vbmeta_images = kernel_verify_result.vbmeta_images()?;
     if vbmeta_images.len() != 1 {
         // There can only be one VBMeta, from the 'boot' partition.