From 231f7b67fffbac78e3eec136e96f495f6fc0274f Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Fri, 25 Mar 2022 13:59:06 -0700 Subject: [PATCH] Camera: Validate physical setting map in OutputConfiguration.writeParcel If the physical camera settings map doesn't contain a key for the logical camera id, throws an exception. Test: LogicalCameraDeviceTest Bug: 220730433 Change-Id: I716fa4b81a6e48538aebfac41b96d5d21fdb6a2e --- core/java/android/hardware/camera2/CaptureRequest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index 5df64e3cca9ec..d94ad3aa17324 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -623,6 +623,11 @@ public final class CaptureRequest extends CameraMetadata> @Override public void writeToParcel(Parcel dest, int flags) { + if (!mPhysicalCameraSettings.containsKey(mLogicalCameraId)) { + throw new IllegalStateException("Physical camera settings map must contain a key for " + + "the logical camera id."); + } + int physicalCameraCount = mPhysicalCameraSettings.size(); dest.writeInt(physicalCameraCount); //Logical camera id and settings always come first.