diff options
author | Praveen Chavan <pchavan@codeaurora.org> | 2016-03-16 16:58:11 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2016-04-07 20:30:26 -0700 |
commit | c9770704a9bb7c26205cf0e5bca05d4397aab1c3 (patch) | |
tree | 3f2ea293b92dfdc389d042fd0cdfbfe80c09c2e6 /msm8974 | |
parent | f45517f0fc54776d5e9b78172af4453915991c73 (diff) | |
download | media-c9770704a9bb7c26205cf0e5bca05d4397aab1c3.tar.gz |
mm-video-v4l2: vidc: fix matching of extension strings
Using strncmp with the strlen of source string can result in
false positives when it is a substring of the passed string.
Eg: strncmp("OMX.extn.x", "OMX.extn.xyz", strlen(OMX.extn.x))
will result in a match.
Use strcmp instead.
Bug: 27344524
Change-Id: I68839f2bea8b97a31f43885538e9dce51aa8c1b4
Diffstat (limited to 'msm8974')
-rw-r--r-- | msm8974/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp | 2 | ||||
-rw-r--r-- | msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp | 11 |
2 files changed, 6 insertions, 7 deletions
diff --git a/msm8974/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp b/msm8974/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp index 274a265..9e1590d 100644 --- a/msm8974/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp +++ b/msm8974/mm-video-v4l2/vidc/vdec/src/omx_vdec_msm8974.cpp @@ -4460,7 +4460,7 @@ OMX_ERRORTYPE omx_vdec::set_config(OMX_IN OMX_HANDLETYPE hComp, return OMX_ErrorNotImplemented; } -#define extn_equals(param, extn) (!strncmp(param, extn, strlen(extn))) +#define extn_equals(param, extn) (!strcmp(param, extn)) /* ====================================================================== FUNCTION diff --git a/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp b/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp index 3627678..8f13048 100644 --- a/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp +++ b/msm8974/mm-video-v4l2/vidc/venc/src/omx_video_base.cpp @@ -2042,6 +2042,8 @@ OMX_ERRORTYPE omx_video::get_config(OMX_IN OMX_HANDLETYPE hComp, } +#define extn_equals(param, extn) (!strcmp(param, extn)) + /* ====================================================================== FUNCTION omx_video::GetExtensionIndex @@ -2066,21 +2068,18 @@ OMX_ERRORTYPE omx_video::get_extension_index(OMX_IN OMX_HANDLETYPE hComp, return OMX_ErrorInvalidState; } #ifdef MAX_RES_1080P - if (!strncmp(paramName, "OMX.QCOM.index.param.SliceDeliveryMode", - sizeof("OMX.QCOM.index.param.SliceDeliveryMode") - 1)) { + if (extn_equals(paramName, "OMX.QCOM.index.param.SliceDeliveryMode")) { *indexType = (OMX_INDEXTYPE)OMX_QcomIndexEnableSliceDeliveryMode; return OMX_ErrorNone; } #endif #ifdef _ANDROID_ICS_ - if (!strncmp(paramName, "OMX.google.android.index.storeMetaDataInBuffers", - sizeof("OMX.google.android.index.storeMetaDataInBuffers") - 1)) { + if (extn_equals(paramName, "OMX.google.android.index.storeMetaDataInBuffers")) { *indexType = (OMX_INDEXTYPE)OMX_QcomIndexParamVideoMetaBufferMode; return OMX_ErrorNone; } #endif - if (!strncmp(paramName, "OMX.google.android.index.prependSPSPPSToIDRFrames", - sizeof("OMX.google.android.index.prependSPSPPSToIDRFrames") - 1)) { + if (extn_equals(paramName, "OMX.google.android.index.prependSPSPPSToIDRFrames")) { *indexType = (OMX_INDEXTYPE)OMX_QcomIndexParamSequenceHeaderWithIDR; return OMX_ErrorNone; } |