From 4ae8df34df88240fcf066910d56e13f082e84f17 Mon Sep 17 00:00:00 2001 From: chanywa Date: Mon, 26 Jun 2017 08:07:07 +0900 Subject: [PATCH] Fix something that seems wrong Change-Id: Ib7fff382aafbd1be5a372f11692684abc47eeaf5 --- src/here_multirevgeocode.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/here_multirevgeocode.cpp b/src/here_multirevgeocode.cpp index 057fe05..8805f71 100644 --- a/src/here_multirevgeocode.cpp +++ b/src/here_multirevgeocode.cpp @@ -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); -- 2.34.1