fix memory leaks 86/179986/3 accepted/tizen/unified/20180524.050045 submit/tizen/20180524.023035
authorYoungjae Shin <yj99.shin@samsung.com>
Thu, 24 May 2018 01:46:40 +0000 (10:46 +0900)
committerYoungjae Shin <yj99.shin@samsung.com>
Thu, 24 May 2018 02:07:47 +0000 (11:07 +0900)
Change-Id: I1778b5aad9d995d910d540f685e093fa04264baf

common/uafv1tlvutil/src/DeRegRespTlvEncoder.cpp
common/uafv1tlvutil/src/GetInfoRespTlvEncoder.cpp
common/uafv1tlvutil/src/SignReqTlvEncoder.cpp
common/uafv1tlvutil/src/SignRespTlvEncoder.cpp
ui/src/asm_ui.c

index 7dd28ae..cc76656 100755 (executable)
@@ -78,8 +78,10 @@ DeRegRespTlvEncoder::decode(const unsigned char *rawData)
        bool foundMember = false;
 
        if (child->tag == TAG_STATUS_CODE) {
-               getDeRegRespInfo->statusCode = *(int*)__intTlvEncoder.decode(rawData + rawIter);
+               int *tmp = (int*)__intTlvEncoder.decode(rawData + rawIter);
+               getDeRegRespInfo->statusCode = *tmp;
                _INFO("statusCode [%d]", getDeRegRespInfo->statusCode);
+               SAFE_DELETE(tmp);
                foundMember = true;
        }
 
index ba8bdd5..5daac5c 100755 (executable)
@@ -650,17 +650,22 @@ GetInfoRespTlvEncoder::decode(const unsigned char *rawData)
        bool foundMember = false;
        GetAuthInfoResp *getInfoResp = (GetAuthInfoResp*)calloc(1, sizeof(GetAuthInfoResp));
 
+       int *tmp;
        while (1) {
                switch (child->tag) {
                case TAG_STATUS_CODE:
-                       getInfoResp->statusCode = *((int *)(__intTlvEncoder.decode(rawData + rawIter)));
+                       tmp = (int *)__intTlvEncoder.decode(rawData + rawIter);
+                       getInfoResp->statusCode = *tmp;
                        _INFO("statusCode = [%d]", getInfoResp->statusCode);
+                       SAFE_DELETE(tmp);
                        foundMember = true;
                        break;
 
                case TAG_API_VERSION:
-                       getInfoResp->apiVersion = *((int *)(__intTlvEncoder.decode(rawData + rawIter)));
+                       tmp = (int *)__intTlvEncoder.decode(rawData + rawIter);
+                       getInfoResp->apiVersion = *tmp;
                        _INFO("apiVersion = [%d]", getInfoResp->apiVersion);
+                       SAFE_DELETE(tmp);
                        foundMember = true;
                        break;
 
index d8233f2..dd35e82 100755 (executable)
@@ -114,11 +114,13 @@ SignReqTlvEncoder::decode(const unsigned char *rawData)
        }
 
        bool foundMember = false;
-
+       int *tmp;
        while(1) {
                switch(child->tag) {
                        case TAG_AUTHENTICATOR_INDEX:
-                               getAuthReqInfo->authIdx = *(int*)__intTlvEncoder.decode(rawData + rawIter);
+                               tmp = (int*)__intTlvEncoder.decode(rawData + rawIter);
+                               getAuthReqInfo->authIdx = *tmp;
+                               SAFE_DELETE(tmp);
                                foundMember = true;
                                break;
 
index f5c3c88..b5a1238 100755 (executable)
@@ -195,11 +195,13 @@ SignRespTlvEncoder::decode(const unsigned char *rawData)
 
        AuthenticateResp *getAuthRespInfo = NALLOC(1, AuthenticateResp);
        bool foundMember = false;
-
+       int *tmp;
        while(1) {
                switch(child->tag) {
                case TAG_STATUS_CODE:
-                       getAuthRespInfo->statusCode = *(int*)__intTlvEncoder.decode(rawData + rawIter);
+                       tmp = (int*)__intTlvEncoder.decode(rawData + rawIter);
+                       getAuthRespInfo->statusCode = *tmp;
+                       SAFE_DELETE(tmp);
                        foundMember = true;
                        break;
 
index d1d8979..d967861 100755 (executable)
@@ -613,10 +613,15 @@ show_pin_ui_verify(void)
 static void
 app_control(app_control_h app_control, void *data)
 {
+       int ret;
        dlog_print(DLOG_INFO, "org.tizen.asmui", "fido asm ui app_control");
 
        SAFE_DELETE(__ad->mode);
-       app_control_get_extra_data(app_control, TC_UI_KEY_MODE, &(__ad->mode));
+       ret = app_control_get_extra_data(app_control, TC_UI_KEY_MODE, &(__ad->mode));
+       if (NULL == __ad->mode) {
+               dlog_print(DLOG_INFO, "org.tizen.asmui", "app_control_get_extra_data() Fail(%d)", ret);
+               return;
+       }
 
        SAFE_DELETE(__ad->nonce);
        app_control_get_extra_data(app_control, TC_UI_KEY_NONCE, &(__ad->nonce));