summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2016-10-19 02:04:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-10-19 02:04:23 +0000
commit771e0eae99b7794dffc6fe1df1fe64e743b95edb (patch)
tree86de634333d57eeef0652303a2883446e3af5d65
parent31c2b133239f544fd3c01ceefe87aec95d6aa10d (diff)
parent435901caca62881155ccd2e81fff390bd156fe2f (diff)
downloadmedia-771e0eae99b7794dffc6fe1df1fe64e743b95edb.tar.gz
Merge "mm-video-v4l2: vdec: Disallow input usebuffer for secure case" into lmp-mr1-dev
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp
index 454956e..4ce2e6e 100644
--- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp
+++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp
@@ -4605,6 +4605,12 @@ OMX_ERRORTYPE omx_vdec::use_input_heap_buffers(
{
DEBUG_PRINT_LOW("Inside %s, %p", __FUNCTION__, buffer);
OMX_ERRORTYPE eRet = OMX_ErrorNone;
+
+ if (secure_mode) {
+ DEBUG_PRINT_ERROR("use_input_heap_buffers is not allowed in secure mode");
+ return OMX_ErrorUndefined;
+ }
+
if (!m_inp_heap_ptr)
m_inp_heap_ptr = (OMX_BUFFERHEADERTYPE*)
calloc( (sizeof(OMX_BUFFERHEADERTYPE)),
@@ -5854,7 +5860,7 @@ OMX_ERRORTYPE omx_vdec::empty_this_buffer_proxy(OMX_IN OMX_HANDLETYPE hComp,
/*for use buffer we need to memcpy the data*/
temp_buffer->buffer_len = buffer->nFilledLen;
- if (input_use_buffer) {
+ if (input_use_buffer && temp_buffer->bufferaddr && !secure_mode) {
if (buffer->nFilledLen <= temp_buffer->buffer_len) {
if (arbitrary_bytes) {
memcpy (temp_buffer->bufferaddr, (buffer->pBuffer + buffer->nOffset),buffer->nFilledLen);