Fix something that seems wrong 79/135679/5 accepted/tizen/unified/20170703.064250 submit/tizen/20170703.004819
authorchanywa <cbible.kim@samsung.com>
Sun, 25 Jun 2017 23:07:07 +0000 (08:07 +0900)
committerchanywa <cbible.kim@samsung.com>
Mon, 3 Jul 2017 01:26:41 +0000 (10:26 +0900)
Change-Id: Ib7fff382aafbd1be5a372f11692684abc47eeaf5

src/here_multirevgeocode.cpp

index 057fe05..8805f71 100644 (file)
@@ -106,7 +106,7 @@ void HereMultiRevGeocode::OnMultiReverseReply(const MultiReverseReply& Reply)
        int nResults = Reply.GetNumResults();
        Result* pResult;
 
-       maps_address_list_h address_list;
+       maps_address_list_h address_list = NULL;
        maps_address_list_create(&address_list);
        maps_address_h pAddr = NULL;
        String *additionalDataValue = NULL;
@@ -160,13 +160,16 @@ void HereMultiRevGeocode::OnMultiReverseReply(const MultiReverseReply& Reply)
                                if(!tmpAddr.GetLabel().empty())
                                        maps_address_set_freetext(pAddr, tmpAddr.GetLabel().c_str());
                        }
+                       if (maps_address_list_append(address_list, pAddr) != MAPS_ERROR_NONE)
+                               maps_address_destroy(pAddr);
+                       pAddr = NULL;
                }
-               maps_address_list_append(address_list, pAddr);
        }
 
        if (m_bCanceled || !m_pCbFunc) {
                maps_address_list_destroy(address_list);
        } else if (nResults <= 0) {
+               maps_address_list_destroy(address_list);
                ((maps_service_multi_reverse_geocode_cb)m_pCbFunc)(MAPS_ERROR_NOT_FOUND, m_nReqId, 0, NULL, m_pUserData);
        } else {
                ((maps_service_multi_reverse_geocode_cb)m_pCbFunc)(MAPS_ERROR_NONE, m_nReqId, nResults, address_list, m_pUserData);