Fix svace_2.3 defects 88/123588/6 accepted/tizen/unified/20170407.190850 submit/tizen/20170407.075823 tizen_4.0.m1_release
authorsangwan.kwon <sangwan.kwon@samsung.com>
Thu, 6 Apr 2017 07:33:43 +0000 (16:33 +0900)
committersangwan.kwon <sangwan.kwon@samsung.com>
Fri, 7 Apr 2017 07:46:12 +0000 (16:46 +0900)
Change-Id: I7563a95024daca60331b2d5d742768b6bba06f0b
Signed-off-by: sangwan.kwon <sangwan.kwon@samsung.com>
tadcore/Svc/DrmTdcSvc.cpp
tadcore/TADCCore/TADC_Core.cpp
tadcore/TADCCore/TADC_Util.cpp
tappsd/src/rights/DTapps2Rights.cpp

index e95779e..b0b742c 100644 (file)
@@ -182,9 +182,9 @@ bool DrmTdcDecryptPackage(const char *pTADCFilepath, const char *pLicenseBuf,
        }
 
        fseek(hFile1, 0, SEEK_END);
-       auto size1 = static_cast<long long>(ftell(hFile1));
+       long size1 = ftell(hFile1);
 
-       auto offset = t_FileHeader.Offset1 + 35 + t_DRMHeader.XmlSize;
+       long offset = static_cast<long>(t_FileHeader.Offset1 + 35 + t_DRMHeader.XmlSize);
        fseek(hFile1, offset, SEEK_SET);
 
        if (size1 < offset) {
@@ -198,10 +198,10 @@ bool DrmTdcDecryptPackage(const char *pTADCFilepath, const char *pLicenseBuf,
                return FALSE;
        }
 
-       auto size2 = size1 - offset; //plain file size
-       auto BlockCnt = (size2 / 512) + ((size2 % 512) ? 1 : 0);
+       long size2 = size1 - offset; //plain file size
+       long BlockCnt = (size2 / 512) + ((size2 % 512) ? 1 : 0);
 
-       auto EncBlockCnt = BlockCnt;
+       long EncBlockCnt = BlockCnt;
 
        if (t_DRMHeader.EncryptionRange != -1)
                EncBlockCnt = t_DRMHeader.EncryptionRange;
@@ -320,9 +320,9 @@ bool DrmTdcDecryptPackage2(const char *pTADCFilepath, T_RO t_RO,
        }
 
        fseek(hFile1, 0, SEEK_END);
-       auto size1 = static_cast<long long>(ftell(hFile1));
+       long size1 = ftell(hFile1);
 
-       auto offset = t_FileHeader.Offset1 + 35 + t_DRMHeader.XmlSize;
+       long offset = static_cast<long>(t_FileHeader.Offset1 + 35 + t_DRMHeader.XmlSize);
        fseek(hFile1, offset, SEEK_SET);
 
        if (size1 < offset) {
@@ -335,10 +335,10 @@ bool DrmTdcDecryptPackage2(const char *pTADCFilepath, T_RO t_RO,
                return FALSE;
        }
 
-       auto size2 = size1 - offset; //plain file size
-       auto BlockCnt = (size2 / 512) + ((size2 % 512) ? 1 : 0);
+       long size2 = size1 - offset; //plain file size
+       long BlockCnt = (size2 / 512) + ((size2 % 512) ? 1 : 0);
 
-       auto EncBlockCnt = BlockCnt;
+       long EncBlockCnt = BlockCnt;
 
        if (t_DRMHeader.EncryptionRange != -1)
                EncBlockCnt = t_DRMHeader.EncryptionRange;
@@ -584,6 +584,11 @@ int DrmTdcDecryptLicense(const char *pRespBuf, unsigned int respBufLen,
                return TADC_DHINFO_MAX_ERROR;
        }
 
+       if (pt_ROAcqInfo == NULL) {
+               DRM_TAPPS_EXCEPTION("pt_ROAcqInfo is NULL.");
+               return TADC_DHINFO_MAX_ERROR;
+       }
+
        //Get Decrypted License
        if ((ret = TADC_GetResponseRO((unsigned char *)pRespBuf, pt_ROAcqInfo, &t_RO,
                                                                  (unsigned char *)pDecLicenseBuf)) < 0) {
index 3b348c1..670cfea 100644 (file)
@@ -297,7 +297,7 @@ int TADC_MakeRequestRO(T_ROACQ_INFO *t_ROAcqInfo, unsigned char *outBuffer,
 
        TADC_IF_StrNCpy((char *)(outBuffer + i), ";hmac=", 6);
        len = TADC_IF_StrLen((char *)psz64Parameter);
-       TADC_IF_MemCpy(outBuffer + i + 6, psz64Parameter, len);
+       TADC_IF_MemCpy(outBuffer + i + 6, psz64Parameter, len + 1);
        TADC_IF_StrNCpy((char *)outBuffer + i + 6 + len, "</reqdataset>\n</request>",
                                        24);
 
@@ -921,7 +921,7 @@ int TADC_GetResponseROInfo(LPBYTE pszXML, T_RO *t_RO)
        t_RO->t_Content.CID = (TADC_U8 *)TADC_IF_Malloc(length + 1);
        IF_TRUE_GOTO(t_RO->t_Content.CID == NULL, -2);
        TADC_IF_MemSet(t_RO->t_Content.CID, 0, length + 1);
-       TADC_IF_StrNCpy((CHAR *)t_RO->t_Content.CID, pszValue, length);
+       TADC_IF_StrNCpy((CHAR *)t_RO->t_Content.CID, pszValue, length + 1);
 
        // Get KeyValue (CEK)
        pRoot = oXMLFile.GetRoot();
@@ -990,7 +990,7 @@ int TADC_GetResponseROInfo(LPBYTE pszXML, T_RO *t_RO)
        }
 
        TADC_IF_MemSet(t_RO->t_Permission.t_Individual.DUID, 0, length + 1);
-       TADC_IF_MemCpy((CHAR *)t_RO->t_Permission.t_Individual.DUID, pszValue, length);
+       TADC_IF_MemCpy((CHAR *)t_RO->t_Permission.t_Individual.DUID, pszValue, length + 1);
 
        nResult = 0;
 
@@ -1199,7 +1199,7 @@ int TADC_GetDRMHeaderInfo(unsigned char *inBuffer, T_DRM_HEADER *t_DRMHeader)
                                t_DRMHeader->SID = (TADC_U8 *)TADC_IF_Malloc(Length + 1);
                                IF_TRUE_RETURN(t_DRMHeader->SID == NULL, TADC_MEMAlOC_ERROR);
                                TADC_IF_MemSet(t_DRMHeader->SID, 0, Length + 1);
-                               TADC_IF_StrNCpy((CHAR *)t_DRMHeader->SID, pszValue, Length);
+                               TADC_IF_StrNCpy((CHAR *)t_DRMHeader->SID, pszValue, Length + 1);
                        }
                }
        }
@@ -1220,7 +1220,7 @@ int TADC_GetDRMHeaderInfo(unsigned char *inBuffer, T_DRM_HEADER *t_DRMHeader)
                                t_DRMHeader->CID = (TADC_U8 *)TADC_IF_Malloc(Length + 1);
                                IF_TRUE_RETURN(t_DRMHeader->CID == NULL, TADC_MEMAlOC_ERROR);
                                TADC_IF_MemSet(t_DRMHeader->CID, 0, Length + 1);
-                               TADC_IF_StrNCpy((CHAR *)t_DRMHeader->CID, pszValue, Length);
+                               TADC_IF_StrNCpy((CHAR *)t_DRMHeader->CID, pszValue, Length + 1);
                        }
                }
        }
@@ -1236,7 +1236,7 @@ int TADC_GetDRMHeaderInfo(unsigned char *inBuffer, T_DRM_HEADER *t_DRMHeader)
                        pszValue = pNode->GetValue();
                        Length = TADC_IF_StrLen((char *)pszValue);
                        TADC_IF_MemSet(t_DRMHeader->ContentsType, 0, 128);
-                       TADC_IF_StrNCpy((CHAR *)t_DRMHeader->ContentsType, pszValue, Length);
+                       TADC_IF_StrNCpy((CHAR *)t_DRMHeader->ContentsType, pszValue, Length + 1);
                }
        }
 
@@ -1294,7 +1294,7 @@ int TADC_GetDRMHeaderInfo(unsigned char *inBuffer, T_DRM_HEADER *t_DRMHeader)
                                t_DRMHeader->RIURL = (TADC_U8 *)TADC_IF_Malloc(Length + 1);
                                IF_TRUE_RETURN(t_DRMHeader->RIURL == NULL, TADC_MEMAlOC_ERROR);
                                TADC_IF_MemSet(t_DRMHeader->RIURL, 0, Length + 1);
-                               TADC_IF_StrNCpy((CHAR *)t_DRMHeader->RIURL, pszValue, Length);
+                               TADC_IF_StrNCpy((CHAR *)t_DRMHeader->RIURL, pszValue, Length + 1);
                        }
                }
        }
@@ -1306,7 +1306,7 @@ int TADC_GetDRMHeaderInfo(unsigned char *inBuffer, T_DRM_HEADER *t_DRMHeader)
                t_DRMHeader->RIURL = (TADC_U8 *)TADC_IF_Malloc(Length + 1);
                IF_TRUE_RETURN(t_DRMHeader->RIURL == NULL, TADC_MEMAlOC_ERROR);
                TADC_IF_MemSet(t_DRMHeader->RIURL, 0, Length + 1);
-               TADC_IF_StrNCpy((CHAR *)t_DRMHeader->RIURL, pszValue, Length);
+               TADC_IF_StrNCpy((CHAR *)t_DRMHeader->RIURL, pszValue, Length + 1);
        }
 
        DRM_TAPPS_LOG("t_DRMHeader->RIURL = %s\n", (char *)t_DRMHeader->RIURL);
@@ -1339,7 +1339,7 @@ int TADC_GetDRMHeaderInfo(unsigned char *inBuffer, T_DRM_HEADER *t_DRMHeader)
                                t_DRMHeader->Packdate = (TADC_U8 *)TADC_IF_Malloc(Length + 1);
                                IF_TRUE_RETURN(t_DRMHeader->Packdate == NULL, TADC_MEMAlOC_ERROR);
                                TADC_IF_MemSet(t_DRMHeader->Packdate, 0, Length + 1);
-                               TADC_IF_StrNCpy((char *)t_DRMHeader->Packdate, pszValue, Length);
+                               TADC_IF_StrNCpy((char *)t_DRMHeader->Packdate, pszValue, Length + 1);
                        }
                }
        }
index 4f08b07..bde66c4 100644 (file)
@@ -20,6 +20,8 @@
 #include "TADC_IF.h"
 #include "TADC_ErrorCode.h"
 
+#include <string>
+
 // -------------------------- Base64 --------------------------------
 static CHAR __base64_table[] = {
        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
@@ -166,30 +168,20 @@ LPBYTE Base64Decode(LPCSTR pszString, int *pnLength)
 
 int HEX2BIN(LPCSTR pszHex, LPBYTE baBin, int *pnLength)
 {
-       CHAR szTemp[3];
-       CHAR szHex[1024];
-       int i = 0, nLength = 0;
-
-       nLength = TADC_IF_StrLen(pszHex);
-
-       if (nLength <= 0)
+       int hexLen = strlen(pszHex);
+       if (hexLen <= 0)
                return -1;
 
-       if ((nLength % 2) == 0) {
-               TADC_IF_StrNCpy(szHex, pszHex, nLength);
-       } else {
-               szHex[0] = '0';
-               TADC_IF_StrNCpy(&szHex[1], pszHex, nLength);
-               nLength += 1;
+       std::string hex(pszHex);
+       if ((hexLen % 2) != 0) {
+               hex.insert(0, "0");
+               hexLen++;
        }
 
-       *pnLength = nLength / 2;
-       szTemp[2] = 0;
-
-       for (i = 0; i < *pnLength; i++) {
-               szTemp[0] = szHex[i * 2];
-               szTemp[1] = szHex[i * 2 + 1];
-               baBin[i] = (BYTE)strtoul(szTemp, NULL, 16);
+       *pnLength = hexLen / 2;
+       for (int i = 0; i < *pnLength; i++) {
+               char buf[3] = {hex.at(i * 2), hex.at(i * 2 +1), '\0'};
+               baBin[i] = (BYTE)strtoul(buf, NULL, 16);
        }
 
        return 0;
index bd97a32..b358350 100644 (file)
@@ -138,7 +138,7 @@ int DTappsInstallLicense(const char *declicbuffer)
        /* Copy DUID */
        if (t_RO.t_Permission.t_Individual.DUID != NULL) {
                DTAPPS_MEMCPY(st_constraints.DUID, t_RO.t_Permission.t_Individual.DUID,
-                                         TAPPS_STRLEN((const char *)t_RO.t_Permission.t_Individual.DUID));
+                                         TAPPS_STRLEN((const char *)t_RO.t_Permission.t_Individual.DUID) + 1);
        }
 
        DRM_TAPPS_LOG("st_constraints.DUID = %s", st_constraints.DUID);
@@ -739,7 +739,7 @@ int DTappsGetROInfo(const char *pszXML, T_RO *t_RO, unsigned char *name)
        }
 
        TADC_IF_MemSet(t_RO->t_Permission.t_Individual.DUID, 0, length + 1);
-       TADC_IF_MemCpy((CHAR *)t_RO->t_Permission.t_Individual.DUID, pszValue, length);
+       TADC_IF_MemCpy((CHAR *)t_RO->t_Permission.t_Individual.DUID, pszValue, length + 1);
 
        nResult = 0;
 
@@ -1314,14 +1314,14 @@ BOOL DTapps_RIGHTS_SELECT_ONE(const char *cid, DTAPPS_RIGHTS_ROW *row)
        name = (char *) sqlite3_column_text(pstmt, dIdx++);
 
        if (name != NULL)
-               memcpy(result->name, name, strlen(name));
+               memcpy(result->name, name, strlen(name) + 1);
 
        DRM_TAPPS_LOG("....SEELECTED : name = %s", result->name);
 
        time = (char *) sqlite3_column_text(pstmt, dIdx++);
 
        if (time != NULL)
-               memcpy(result->time, time, strlen(time));
+               memcpy(result->time, time, strlen(time) + 1);
 
        DRM_TAPPS_LOG("....SEELECTED : time = %s", result->time);
 
@@ -1329,14 +1329,14 @@ BOOL DTapps_RIGHTS_SELECT_ONE(const char *cid, DTAPPS_RIGHTS_ROW *row)
        cek = (char *) sqlite3_column_text(pstmt, dIdx++);
 
        if (cek != NULL)
-               memcpy(result->cek, cek, strlen(cek));
+               memcpy(result->cek, cek, strlen(cek) + 1);
 
        DRM_TAPPS_LOG("....SEELECTED : cek = %s", result->cek);
 
        cek_hash = (char *) sqlite3_column_text(pstmt, dIdx++);
 
        if (cek_hash != NULL)
-               memcpy(result->cek_hash, cek_hash, strlen(cek_hash));
+               memcpy(result->cek_hash, cek_hash, strlen(cek_hash) + 1);
 
        DRM_TAPPS_LOG("....SEELECTED : cek_hash = %s", result->cek_hash);
 #endif
@@ -1344,7 +1344,7 @@ BOOL DTapps_RIGHTS_SELECT_ONE(const char *cid, DTAPPS_RIGHTS_ROW *row)
        constraint_buffer = (char *) sqlite3_column_text(pstmt, dIdx++);
 
        if (constraint_buffer != NULL)
-               memcpy(result->constraint_buffer, constraint_buffer, strlen(constraint_buffer));
+               memcpy(result->constraint_buffer, constraint_buffer, strlen(constraint_buffer) + 1);
 
        DRM_TAPPS_LOG("....SEELECTED : constraint_buffer = %s",
                                  result->constraint_buffer);
@@ -1352,11 +1352,11 @@ BOOL DTapps_RIGHTS_SELECT_ONE(const char *cid, DTAPPS_RIGHTS_ROW *row)
        constraint_hash = (char *) sqlite3_column_text(pstmt, dIdx++);
 
        if (constraint_hash != NULL)
-               memcpy(result->constraint_hash, constraint_hash, strlen(constraint_hash));
+               memcpy(result->constraint_hash, constraint_hash, strlen(constraint_hash) + 1);
 
        DRM_TAPPS_LOG("....SEELECTED : constraint_hash = %s", result->constraint_hash);
 
-       memcpy(result->cid, cid, strlen(cid));
+       memcpy(result->cid, cid, strlen(cid) + 1);
        DRM_TAPPS_LOG("....SEELECTED : cid = %s", result->cid);
 
        DRM_TAPPS_LOG("Release Statement........");