From ef8b38488efc3127a6579d5aaa321e0023d3d927 Mon Sep 17 00:00:00 2001 From: Kyungwook Tak Date: Thu, 12 Nov 2015 20:45:11 +0900 Subject: [PATCH] Fix array out of bound access and mem err handling Change-Id: I5584f33a3fa41b7b99301b6263c7f6f7e7cb3811 Signed-off-by: Kyungwook Tak --- tadcore/TADCCore/TADC_Core.cpp | 2 ++ tappsd/src/rights/DTapps2Rights.cpp | 2 ++ tappsd/src/util/DTapps2Base64.cpp | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tadcore/TADCCore/TADC_Core.cpp b/tadcore/TADCCore/TADC_Core.cpp index a28c4fc..e40bb58 100644 --- a/tadcore/TADCCore/TADC_Core.cpp +++ b/tadcore/TADCCore/TADC_Core.cpp @@ -1001,6 +1001,8 @@ int TADC_GetResponseROInfo(IN LPBYTE pszXML, T_RO *t_RO) if (t_RO->t_Permission.t_Individual.DUID == NULL) { DRM_TAPPS_EXCEPTION("TADC_IF_MemCmp Error Code = %x", TADC_MEMAlOC_ERROR); + nResult = -2; + goto finish; } TADC_IF_MemSet(t_RO->t_Permission.t_Individual.DUID, 0, length + 1); diff --git a/tappsd/src/rights/DTapps2Rights.cpp b/tappsd/src/rights/DTapps2Rights.cpp index 3f0143e..6efcc68 100644 --- a/tappsd/src/rights/DTapps2Rights.cpp +++ b/tappsd/src/rights/DTapps2Rights.cpp @@ -699,6 +699,8 @@ int DTappsGetROInfo(const char* pszXML, T_RO *t_RO, unsigned char* name) if (t_RO->t_Permission.t_Individual.DUID == NULL) { DRM_TAPPS_EXCEPTION("TADC_IF_MemCmp Error Code = %x", TADC_MEMAlOC_ERROR); + nResult = -2; + goto finish; } TADC_IF_MemSet(t_RO->t_Permission.t_Individual.DUID, 0, length + 1); diff --git a/tappsd/src/util/DTapps2Base64.cpp b/tappsd/src/util/DTapps2Base64.cpp index e7800ae..205c9d7 100644 --- a/tappsd/src/util/DTapps2Base64.cpp +++ b/tappsd/src/util/DTapps2Base64.cpp @@ -94,7 +94,7 @@ int DTappsB64Decode(unsigned char* in, int in_size, unsigned char* out, int& out for( i=j=k=0; i < in_size; i++ ) { - if( in[i] > 128 ) + if( in[i] >= 128 ) continue; c[j] = MAP[(unsigned char)in[i]]; if( c[j] == 64 ) -- 2.7.4