fixed coverity issues 98/174598/1
authorSejun Park <sejun79.park@samsung.com>
Tue, 3 Apr 2018 06:35:13 +0000 (15:35 +0900)
committerSejun Park <sejun79.park@samsung.com>
Tue, 3 Apr 2018 06:35:57 +0000 (15:35 +0900)
Change-Id: I78b505be5567e6d705abee5c980099c74d5c9f2d

exynos/libcsc/csc.c [changed mode: 0644->0755]
openmax/component/video/enc/h264/Exynos_OMX_H264enc.c
openmax/component/video/enc/mpeg4/Exynos_OMX_Mpeg4enc.c

old mode 100644 (file)
new mode 100755 (executable)
index 05b807b..39c0e0e
@@ -439,9 +439,12 @@ static CSC_ERRORCODE csc_init_hw(
             ALOGE("%s:: CSC_METHOD_HW can't open HW", __func__);
             free(csc_handle);
             csc_handle = NULL;
+            return CSC_ErrorNotInit;
         }
     }
 
+    ALOGV("%s:: CSC_METHOD=%d", __func__, csc_handle->csc_method);
+
     return ret;
 }
 
@@ -802,7 +805,10 @@ CSC_ERRORCODE csc_convert(
 
     if ((csc_handle->csc_method == CSC_METHOD_HW) &&
         (csc_handle->csc_hw_handle == NULL))
-        csc_init_hw(handle);
+        ret = csc_init_hw(handle);
+
+    if (ret != CSC_ErrorNone)
+        return ret;
 
     csc_set_format(csc_handle);
     csc_set_buffer(csc_handle);
index 5277120..66ba582 100755 (executable)
@@ -1023,6 +1023,11 @@ OMX_ERRORTYPE H264CodecDstSetup(OMX_COMPONENTTYPE *pOMXComponent)
 
                 pVideoEnc->pMFCEncOutputBuffer[i] = (CODEC_ENC_BUFFER *)Exynos_OSAL_Malloc(sizeof(CODEC_ENC_BUFFER));
 
+                if (!pVideoEnc->pMFCEncOutputBuffer[i]) {
+                    ret = OMX_ErrorInsufficientResources;
+                    goto ALLOC_FAILED;
+                }
+
                 if (pOutbufOps->Get_Buffer) {
                      if (pOutbufOps->Get_Buffer(pH264Enc->hMFCH264Handle.hMFCHandle, i, &pBuffer) != VIDEO_ERROR_NONE) {
                          Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to get Output buffer info");
@@ -1075,6 +1080,16 @@ EXIT:
     FunctionOut();
 
     return ret;
+
+ALLOC_FAILED:
+    for (i = 0; i < MFC_OUTPUT_BUFFER_NUM_MAX; i++) {
+        if (pVideoEnc->pMFCEncOutputBuffer[i])
+            Exynos_OSAL_Free(pVideoEnc->pMFCEncOutputBuffer[i]);
+    }
+    Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to allocate buffers");
+    FunctionOut();
+
+    return ret;
 }
 
 OMX_ERRORTYPE Exynos_H264Enc_GetParameter(
index d775ad4..a94fea4 100755 (executable)
@@ -1157,6 +1157,11 @@ OMX_ERRORTYPE Mpeg4CodecDstSetup(OMX_COMPONENTTYPE *pOMXComponent)
 
                 pVideoEnc->pMFCEncOutputBuffer[i] = (CODEC_ENC_BUFFER *)Exynos_OSAL_Malloc(sizeof(CODEC_ENC_BUFFER));
 
+                if (!pVideoEnc->pMFCEncOutputBuffer[i]) {
+                    ret = OMX_ErrorInsufficientResources;
+                    goto ALLOC_FAILED;
+                }
+
                 if (pOutbufOps->Get_Buffer) {
                      if (pOutbufOps->Get_Buffer(pMpeg4Enc->hMFCMpeg4Handle.hMFCHandle, i, &pBuffer) != VIDEO_ERROR_NONE) {
                          Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to get Output buffer info");
@@ -1209,6 +1214,16 @@ EXIT:
     FunctionOut();
 
     return ret;
+
+ALLOC_FAILED:
+    for (i = 0; i < MFC_OUTPUT_BUFFER_NUM_MAX; i++) {
+        if (pVideoEnc->pMFCEncOutputBuffer[i])
+            Exynos_OSAL_Free(pVideoEnc->pMFCEncOutputBuffer[i]);
+    }
+    Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "Failed to allocate buffers");
+
+    FunctionOut();
+    return ret;
 }
 
 OMX_ERRORTYPE Exynos_Mpeg4Enc_GetParameter(