summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2013-06-06 13:51:22 -0700
committerZhijun He <zhijunhe@google.com>2013-06-06 13:51:22 -0700
commitb05eeaedacaff92b6e5ac89f99b0fccdf7643f09 (patch)
tree47f3ac7e031b9c57657c40de9a57997edf4f4706 /services
parent62a8f67f33faf19d0ff815672dd19bb71dd0d650 (diff)
downloadframeworks_av-b05eeaedacaff92b6e5ac89f99b0fccdf7643f09.zip
frameworks_av-b05eeaedacaff92b6e5ac89f99b0fccdf7643f09.tar.gz
frameworks_av-b05eeaedacaff92b6e5ac89f99b0fccdf7643f09.tar.bz2
camera3: Fix crash in set error state.
When camera open fails in camera3device initialize call, setErrorStateLockedV() tries to access RequestThread object that is not created yet. Bug: 9319518 Change-Id: Id5c6c0150ecaecb198045d5c6eb1b2ceebf5a727
Diffstat (limited to 'services')
-rw-r--r--services/camera/libcameraservice/Camera3Device.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/services/camera/libcameraservice/Camera3Device.cpp b/services/camera/libcameraservice/Camera3Device.cpp
index 0b5e9c4..c7edb76 100644
--- a/services/camera/libcameraservice/Camera3Device.cpp
+++ b/services/camera/libcameraservice/Camera3Device.cpp
@@ -1125,7 +1125,7 @@ void Camera3Device::setErrorStateLockedV(const char *fmt, va_list args) {
ALOGE("Camera %d: %s", mId, errorCause.string());
// But only do error state transition steps for the first error
- if (mStatus == STATUS_ERROR) return;
+ if (mStatus == STATUS_ERROR || mStatus == STATUS_UNINITIALIZED) return;
mErrorCause = errorCause;