fixed overflow issue that can have out of range as conditional expression 35/108435/1 accepted/tizen/3.0/wearable/20170314.081120 accepted/tizen/wearable/20170105.224006 submit/tizen_3.0/20170314.015107 submit/tizen_3.0_wearable/20170313.114059 submit/tizen_wearable/20170104.100359 submit/tizen_wearable/20170314.013206
authorSejun Park <sejun79.park@samsung.com>
Wed, 4 Jan 2017 09:26:39 +0000 (18:26 +0900)
committerSejun Park <sejun79.park@samsung.com>
Wed, 4 Jan 2017 09:26:39 +0000 (18:26 +0900)
Change-Id: I82fd92b43bd4e736c7777fe0090e4be45fc18043

openmax/component/video/dec/h264/Exynos_OMX_H264dec.c
openmax/component/video/dec/mpeg2/Exynos_OMX_Mpeg2dec.c
openmax/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c
openmax/component/video/dec/vc1/Exynos_OMX_Wmvdec.c [changed mode: 0644->0755]
openmax/component/video/enc/h264/Exynos_OMX_H264enc.c [changed mode: 0644->0755]
openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.c
packaging/libomxil-e3250-v4l2.spec

index e3992bbf1a834bbf9c51bd0e20e677f6ac18aab1..406b6771851359bebe83528a567a9b5595d44bf5 100755 (executable)
@@ -2236,12 +2236,12 @@ OMX_ERRORTYPE Exynos_H264Dec_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
         if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
             int i = 0;
             while (pSrcOutputData->buffer.singlePlaneBuffer.dataBuffer != pVideoDec->pMFCDecInputBuffer[i]->pVirAddr[0]) {
+                i++;
                 if (i >= MFC_INPUT_BUFFER_NUM_MAX) {
                     Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Can not find buffer");
                     ret = (OMX_ERRORTYPE)OMX_ErrorCodecDecode;
                     goto EXIT;
                 }
-                i++;
             }
             pVideoDec->pMFCDecInputBuffer[i]->dataSize = 0;
             pSrcOutputData->pPrivate = pVideoDec->pMFCDecInputBuffer[i];
index 3ae55f5e78424c4d423274ba50ccc7b28b0edb46..4dd0d918825cafed38fa2a7f1ce6a10cbd6b801c 100755 (executable)
@@ -1583,12 +1583,12 @@ OMX_ERRORTYPE Exynos_Mpeg2Dec_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
         if ((pExynosInputPort->bufferProcessType & BUFFER_COPY) == BUFFER_COPY) {
             int i = 0;
             while (pSrcOutputData->buffer.singlePlaneBuffer.dataBuffer != pVideoDec->pMFCDecInputBuffer[i]->pVirAddr[0]) {
+                i++;
                 if (i >= MFC_INPUT_BUFFER_NUM_MAX) {
                     Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Can not find buffer");
                     ret = (OMX_ERRORTYPE)OMX_ErrorCodecDecode;
                     goto EXIT;
                 }
-                i++;
             }
             pVideoDec->pMFCDecInputBuffer[i]->dataSize = 0;
             pSrcOutputData->pPrivate = pVideoDec->pMFCDecInputBuffer[i];
index 2afae9c75bdac9c694fada887792db8566bd0dca..c1d4d09c23aeb63b11e00146bc6382408c3c7503 100755 (executable)
@@ -2333,12 +2333,12 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
         if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
             int i = 0;
             while (pSrcOutputData->buffer.singlePlaneBuffer.dataBuffer != pVideoDec->pMFCDecInputBuffer[i]->pVirAddr[0]) {
+                i++;
                 if (i >= MFC_INPUT_BUFFER_NUM_MAX) {
                     Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Can not find buffer");
                     ret = (OMX_ERRORTYPE)OMX_ErrorCodecDecode;
                     goto EXIT;
                 }
-                i++;
             }
             pVideoDec->pMFCDecInputBuffer[i]->dataSize = 0;
             pSrcOutputData->pPrivate = pVideoDec->pMFCDecInputBuffer[i];
old mode 100644 (file)
new mode 100755 (executable)
index b14d8e0..99b3d2d
@@ -2215,12 +2215,12 @@ OMX_ERRORTYPE Exynos_WmvDec_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_
         if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
             int i = 0;
             while (pSrcOutputData->buffer.singlePlaneBuffer.dataBuffer != pVideoDec->pMFCDecInputBuffer[i]->pVirAddr[0]) {
+                i++;
                 if (i >= MFC_INPUT_BUFFER_NUM_MAX) {
                     Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Can not find buffer");
                     ret = (OMX_ERRORTYPE)OMX_ErrorCodecDecode;
                     goto EXIT;
                 }
-                i++;
             }
             pVideoDec->pMFCDecInputBuffer[i]->dataSize = 0;
             pSrcOutputData->pPrivate = pVideoDec->pMFCDecInputBuffer[i];
old mode 100644 (file)
new mode 100755 (executable)
index b9f10da..6b6fa62
@@ -2069,12 +2069,12 @@ OMX_ERRORTYPE Exynos_H264Enc_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX
         if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
             int i = 0;
             while (pSrcOutputData->buffer.multiPlaneBuffer.dataBuffer[0] != pVideoEnc->pMFCEncInputBuffer[i]->pVirAddr[0]) {
+                i++;
                 if (i >= MFC_INPUT_BUFFER_NUM_MAX) {
                     Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "%s: %d: Failed - Lost buffer", __FUNCTION__, __LINE__);
                     ret = (OMX_ERRORTYPE)OMX_ErrorCodecEncode;
                     goto EXIT;
                 }
-                i++;
             }
             pVideoEnc->pMFCEncInputBuffer[i]->dataSize = 0;
             pSrcOutputData->pPrivate = pVideoEnc->pMFCEncInputBuffer[i];
index c8b189f3c5f0e441fbc40968d9bdc5dc4622b3ae..d5d184c63e431ff373c7a54e87342be86f5a6355 100755 (executable)
@@ -2186,12 +2186,12 @@ OMX_ERRORTYPE Exynos_Mpeg4Enc_SrcOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OM
         if (pExynosInputPort->bufferProcessType & BUFFER_COPY) {
             int i = 0;
             while (pSrcOutputData->buffer.multiPlaneBuffer.dataBuffer[0] != pVideoEnc->pMFCEncInputBuffer[i]->pVirAddr[0]) {
+                i++;
                 if (i >= MFC_INPUT_BUFFER_NUM_MAX) {
                     Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "%s: %d: Failed - Lost buffer", __FUNCTION__, __LINE__);
                     ret = (OMX_ERRORTYPE)OMX_ErrorCodecEncode;
                     goto EXIT;
                 }
-                i++;
             }
             pVideoEnc->pMFCEncInputBuffer[i]->dataSize = 0;
             pSrcOutputData->pPrivate = pVideoEnc->pMFCEncInputBuffer[i];
index 1928b7717cdad8624099fd0eb6370e5c9261709e..435c5d1f2968c2b5ad16f3317a4491c9e7b24e92 100755 (executable)
@@ -1,6 +1,6 @@
 Name: libomxil-e3250-v4l2
 Summary: OpenMAX IL for e3250-v4l2
-Version: 0.1.2
+Version: 0.1.3
 License: Apache-2.0
 Group: Development/Libraries
 Release: 0