Camera: Fix a crash in removeCamera()

mCameraInfoMap is a KeyedVector, we should use .valueFor() instead of
operator[] to get the value from a key.

Bug: 118364955
Bug: 118359878
Bug: 77833131
Test: Plug and unplug the external camera 10+ times.
Change-Id: Ibf48e5a78b16bdeba08b02242379eaf571fc76cb
This commit is contained in:
Shik Chen
2018-10-25 18:00:27 +08:00
parent b106b5c863
commit d4b8d2179f

View File

@@ -466,8 +466,8 @@ status_t CameraModule::filterOpenErrorCode(status_t err) {
}
void CameraModule::removeCamera(int cameraId) {
free_camera_metadata(
const_cast<camera_metadata_t*>(mCameraInfoMap[cameraId].static_camera_characteristics));
free_camera_metadata(const_cast<camera_metadata_t*>(
mCameraInfoMap.valueFor(cameraId).static_camera_characteristics));
mCameraInfoMap.removeItem(cameraId);
mDeviceVersionMap.removeItem(cameraId);
}