summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPraveen Chavan <pchavan@codeaurora.org>2016-06-22 18:01:40 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-06-22 18:01:40 +0000
commitb24974816feb577bce1a473112fd957f9280e6d0 (patch)
tree5c4f20fbf4e50c881679edf8764fa72917f5fda3
parent8f371f61ed99fe1656e7ae160fc40f9802ca676c (diff)
parentc5e89b1bc49d5c5a5e58624346dac8d904c0cdcb (diff)
downloadandroid_hardware_qcom_media-b24974816feb577bce1a473112fd957f9280e6d0.tar.gz
android_hardware_qcom_media-b24974816feb577bce1a473112fd957f9280e6d0.tar.bz2
android_hardware_qcom_media-b24974816feb577bce1a473112fd957f9280e6d0.zip
DO NOT MERGE mm-video-v4l2: venc: add checks before accessing heap pointers am: fe96f9be38
am: c5e89b1bc4 Change-Id: I574d587b0b589c1f8d4e1c9e614a324af754e78b
-rw-r--r--mm-video-v4l2/vidc/venc/src/omx_video_base.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
index 0f2a5713..048f821a 100644
--- a/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
+++ b/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp
@@ -2083,6 +2083,7 @@ OMX_ERRORTYPE omx_video::use_input_buffer(
if (m_pInput_pmem[i].buffer == MAP_FAILED) {
DEBUG_PRINT_ERROR("\nERROR: mmap() Failed");
+ m_pInput_pmem[i].buffer = NULL;
close(m_pInput_pmem[i].fd);
#ifdef USE_ION
free_ion_memory(&m_pInput_ion[i]);
@@ -2271,6 +2272,7 @@ OMX_ERRORTYPE omx_video::use_output_buffer(
#endif
if (m_pOutput_pmem[i].buffer == MAP_FAILED) {
DEBUG_PRINT_ERROR("\nERROR: mmap() Failed");
+ m_pOutput_pmem[i].buffer = NULL;
close(m_pOutput_pmem[i].fd);
#ifdef USE_ION
free_ion_memory(&m_pOutput_ion[i]);
@@ -2648,6 +2650,7 @@ OMX_ERRORTYPE omx_video::allocate_input_buffer(
MAP_SHARED,m_pInput_pmem[i].fd,0);
if (m_pInput_pmem[i].buffer == MAP_FAILED) {
DEBUG_PRINT_ERROR("\nERROR: mmap FAILED= %d\n", errno);
+ m_pInput_pmem[i].buffer = NULL;
close(m_pInput_pmem[i].fd);
#ifdef USE_ION
free_ion_memory(&m_pInput_ion[i]);
@@ -2802,6 +2805,7 @@ OMX_ERRORTYPE omx_video::allocate_output_buffer(
#endif
if (m_pOutput_pmem[i].buffer == MAP_FAILED) {
DEBUG_PRINT_ERROR("\nERROR: MMAP_FAILED in o/p alloc buffer");
+ m_pOutput_pmem[i].buffer = NULL;
close (m_pOutput_pmem[i].fd);
#ifdef USE_ION
free_ion_memory(&m_pOutput_ion[i]);