diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 89044efa..0fff5927 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -257,6 +257,7 @@ void sortCamera3StreamConfigs(std::vector<Camera3StreamConfig> &unsortedConfigs,
 }
 
 bool isValidRequest(camera3_capture_request_t *camera3Request)
+
 {
 	if (!camera3Request) {
 		LOG(HAL, Error) << "No capture request provided";
@@ -293,6 +294,13 @@ bool isValidRequest(camera3_capture_request_t *camera3Request)
 				<< ") in buffer " << i;
 			return false;
 		}
+
+		CameraBuffer cameraBuffer(*outputBuffer.buffer,
+					  PROT_READ | PROT_WRITE, /*map=*/false);
+		if (!cameraBuffer.isValid()) {
+			LOG(HAL, Error) << "cameraBuffer is invalid";
+			return false;
+		}
 	}
 
 	return true;
