Fix SVACE defects 34/190434/1
authorDongsun Lee <ds73.lee@samsung.com>
Tue, 2 Oct 2018 04:32:06 +0000 (13:32 +0900)
committerDongsun Lee <ds73.lee@samsung.com>
Tue, 2 Oct 2018 04:32:06 +0000 (13:32 +0900)
- WGID=246297,246301,246304,246313:UNCHECKED_FUNC_RES.LIB.STRICT

Change-Id: I7c63a1fb8835713fd25981384b13aeb55fecd864
Signed-off-by: Dongsun Lee <ds73.lee@samsung.com>
tadcore/DrmFileHandleMgr/DrmFileHandler.cpp
tadcore/Svc/DrmTdcSvc.cpp
tadcore/XMLParser/CXMLFile.cpp

index 879f80a..07b3735 100644 (file)
@@ -146,7 +146,10 @@ int DrmFileHandler::Construct(const char *szDrmFilePath)
 
        m_PlaintextStartOffset = t_FileHeader.Offset1 + 35 + t_DRMHeader.XmlSize;
 
-       fseek(m_pFP, 0, SEEK_END);
+       if (fseek(m_pFP, 0, SEEK_END) != 0) {
+               DRM_TAPPS_EXCEPTION("operation fail. fseek");
+               return TADC_FILE_OPEN_ERROR;
+       }
        m_OriginEndOffset = ftell(m_pFP);
        if (m_OriginEndOffset < m_PlaintextStartOffset) {
                DRM_TAPPS_EXCEPTION("Invalid file offset... offset is bigger than file size");
@@ -163,7 +166,10 @@ int DrmFileHandler::Construct(const char *szDrmFilePath)
 
        m_DrmEndOffset = m_plaintextSize;
 
-       fseek(m_pFP, m_PlaintextStartOffset, SEEK_SET);
+       if (fseek(m_pFP, m_PlaintextStartOffset, SEEK_SET) != 0) {
+               DRM_TAPPS_EXCEPTION("operation fail. fseek");
+               return TADC_FILE_OPEN_ERROR;
+       }
        m_OriginCurOffset = ftell(m_pFP);
        m_DrmCurOffset = 0;
 
index b0b742c..58ed521 100644 (file)
@@ -181,11 +181,29 @@ bool DrmTdcDecryptPackage(const char *pTADCFilepath, const char *pLicenseBuf,
                return FALSE;
        }
 
-       fseek(hFile1, 0, SEEK_END);
+       if (fseek(hFile1, 0, SEEK_END) != 0) {
+               DRM_TAPPS_EXCEPTION("fseek failed");
+               fclose(hFile1);
+               fclose(hFile2);
+               TADC_MEMFree_FileHeader(&t_FileHeader);
+               TADC_MEMFree_DRMHeader(&t_DRMHeader);
+               TADC_MEMFree_RO(&t_RO);
+               TADC_IF_Free(pReadBuf);
+               return FALSE;
+       }
        long size1 = ftell(hFile1);
 
        long offset = static_cast<long>(t_FileHeader.Offset1 + 35 + t_DRMHeader.XmlSize);
-       fseek(hFile1, offset, SEEK_SET);
+       if (fseek(hFile1, offset, SEEK_SET) != 0) {
+               DRM_TAPPS_EXCEPTION("fseek failed");
+               fclose(hFile1);
+               fclose(hFile2);
+               TADC_MEMFree_FileHeader(&t_FileHeader);
+               TADC_MEMFree_DRMHeader(&t_DRMHeader);
+               TADC_MEMFree_RO(&t_RO);
+               TADC_IF_Free(pReadBuf);
+               return FALSE;
+       }
 
        if (size1 < offset) {
                DRM_TAPPS_EXCEPTION("Invalid offset... offset is bigger than file size");
@@ -319,11 +337,27 @@ bool DrmTdcDecryptPackage2(const char *pTADCFilepath, T_RO t_RO,
                return FALSE;
        }
 
-       fseek(hFile1, 0, SEEK_END);
+       if (fseek(hFile1, 0, SEEK_END) != 0) {
+               DRM_TAPPS_EXCEPTION("fseek failed");
+               fclose(hFile1);
+               fclose(hFile2);
+               TADC_MEMFree_FileHeader(&t_FileHeader);
+               TADC_MEMFree_DRMHeader(&t_DRMHeader);
+               TADC_IF_Free(pReadBuf);
+               return FALSE;
+       }
        long size1 = ftell(hFile1);
 
        long offset = static_cast<long>(t_FileHeader.Offset1 + 35 + t_DRMHeader.XmlSize);
-       fseek(hFile1, offset, SEEK_SET);
+       if (fseek(hFile1, offset, SEEK_SET) != 0) {
+               DRM_TAPPS_EXCEPTION("fseek failed");
+               fclose(hFile1);
+               fclose(hFile2);
+               TADC_MEMFree_FileHeader(&t_FileHeader);
+               TADC_MEMFree_DRMHeader(&t_DRMHeader);
+               TADC_IF_Free(pReadBuf);
+               return FALSE;
+       }
 
        if (size1 < offset) {
                DRM_TAPPS_EXCEPTION("Invalid offset... offset is bigger than file size");
index d1433a2..52ecfe3 100644 (file)
@@ -99,9 +99,15 @@ int CXMLFile::LoadFromFile(LPCTSTR pszFileName)
                goto finish;
        }
 
-       fseek(hFile, 0, SEEK_END);
+       if (fseek(hFile, 0, SEEK_END) != 0) {
+               nResult = -1;
+               goto finish;
+       }
        dwFileSize = ftell(hFile);
-       fseek(hFile, 0, SEEK_SET);
+       if (fseek(hFile, 0, SEEK_SET) != 0) {
+               nResult = -1;
+               goto finish;
+       }
 
        if (dwFileSize > LONG_MAX - 256) {
                nResult = -1;