Camera3Device: fix dereferencing null pointer crash
It's possible that the dump is called during the device shutdown
process, where the buffer manager could be already torn down. Add
null check before calling the dump function.
Bug: 27500853
Change-Id: I179eb7ac1e81be2c196833b2c88488cd59fe2cc5
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index ee84ff0..b44cbd2 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -534,9 +534,11 @@
mOutputStreams[i]->dump(fd,args);
}
- lines = String8(" Camera3 Buffer Manager:\n");
- write(fd, lines.string(), lines.size());
- mBufferManager->dump(fd, args);
+ if (mBufferManager != NULL) {
+ lines = String8(" Camera3 Buffer Manager:\n");
+ write(fd, lines.string(), lines.size());
+ mBufferManager->dump(fd, args);
+ }
lines = String8(" In-flight requests:\n");
if (mInFlightMap.size() == 0) {