Camera3: Initialize capture result structure before use
memset camera3_capture_result_t data structure before
using it in HAL.
Bug: 16132385
Change-Id: I0a55cf47984c1d1413b9a492d79543c47ff5bc23
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index f7c5ab9..0102905 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -1100,6 +1100,7 @@
if (i->frame_number == urgent_frame_number) {
camera3_capture_result_t result;
+ memset(&result, 0, sizeof(camera3_capture_result_t));
// Send shutter notify to frameworks
notify_msg.type = CAMERA3_MSG_SHUTTER;
@@ -1139,6 +1140,7 @@
for (List<PendingRequestInfo>::iterator i = mPendingRequestsList.begin();
i != mPendingRequestsList.end() && i->frame_number <= frame_number;) {
camera3_capture_result_t result;
+ memset(&result, 0, sizeof(camera3_capture_result_t));
ALOGV("%s: frame_number in the list is %d", __func__, i->frame_number);
// Flush out all entries with less or equal frame numbers.
@@ -1330,6 +1332,7 @@
}
}
camera3_capture_result_t result;
+ memset(&result, 0, sizeof(camera3_capture_result_t));
result.result = NULL;
result.frame_number = frame_number;
result.num_output_buffers = 1;
@@ -1368,6 +1371,7 @@
} else {
if (i->input_buffer_present) {
camera3_capture_result result;
+ memset(&result, 0, sizeof(camera3_capture_result_t));
result.result = NULL;
result.frame_number = frame_number;
result.num_output_buffers = 1;
@@ -1810,6 +1814,7 @@
pStream_Buf.status = CAMERA3_BUFFER_STATUS_ERROR;
pStream_Buf.stream = k->stream;
+ memset(&result, 0, sizeof(camera3_capture_result_t));
result.result = NULL;
result.frame_number = k->frame_number;
result.num_output_buffers = 1;
@@ -1839,6 +1844,7 @@
notify_msg.message.error.frame_number = i->frame_number;
mCallbackOps->notify(mCallbackOps, ¬ify_msg);
+ memset(&result, 0, sizeof(camera3_capture_result_t));
result.frame_number = i->frame_number;
result.num_output_buffers = 0;
result.output_buffers = NULL;