From 8ba6a09abcba9d4ec45a918469e67dbfe9f752ca Mon Sep 17 00:00:00 2001 From: Jaewook Jung Date: Fri, 20 Jan 2017 12:15:54 +0900 Subject: [PATCH] Fixed a crash error caused on IP network get down Because CAGetIPInterfaceInformation() allocates memory to CAEndpoint_t at once, OICFree also should be called once. Change-Id: I7cb85761e1d49e73d357928c77b364555d82c87f Signed-off-by: Jaewook Jung Reviewed-on: https://gerrit.iotivity.org/gerrit/16621 Tested-by: jenkins-iotivity Reviewed-by: jihwan seo Reviewed-by: Dan Mihai --- resource/csdk/connectivity/src/ip_adapter/caipadapter.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/resource/csdk/connectivity/src/ip_adapter/caipadapter.c b/resource/csdk/connectivity/src/ip_adapter/caipadapter.c index 9fdec6f..153b8c7 100644 --- a/resource/csdk/connectivity/src/ip_adapter/caipadapter.c +++ b/resource/csdk/connectivity/src/ip_adapter/caipadapter.c @@ -206,11 +206,14 @@ static void CAUpdateStoredIPAddressInfo(CANetworkStatus_t status) { OIC_LOG(DEBUG, TAG, "IP adapter status is off. Remove the own IP address info"); + CAEndpoint_t *headEp = u_arraylist_get(g_ownIpEndpointList, 0); + OICFree(headEp); + headEp = NULL; + uint32_t len = u_arraylist_length(g_ownIpEndpointList); for (uint32_t i = len; i > 0; i--) { - CAEndpoint_t *ep = u_arraylist_remove(g_ownIpEndpointList, i - 1); - OICFree(ep); + u_arraylist_remove(g_ownIpEndpointList, i - 1); } } } -- 2.7.4