From: sonu1.yadav Date: Tue, 14 Jul 2015 09:09:57 +0000 (+0530) Subject: Fix IOT-605: fridgeclient executable's abnormal termination X-Git-Tag: 0.9.2-beta~38 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3d3992189f03751028077ad603d50b96522c2acc;p=contrib%2Fiotivity.git Fix IOT-605: fridgeclient executable's abnormal termination Change-Id: Idcfcd4296d76742859e10b44f36f3ca56ce76ca0 Signed-off-by: sonu1.yadav Reviewed-on: https://gerrit.iotivity.org/gerrit/1644 Tested-by: jenkins-iotivity Reviewed-by: Erich Keane --- diff --git a/resource/src/OCResource.cpp b/resource/src/OCResource.cpp index e1188a2..1d35ea2 100644 --- a/resource/src/OCResource.cpp +++ b/resource/src/OCResource.cpp @@ -130,11 +130,12 @@ void OCResource::setHost(const std::string& host) throw ResourceInitException(m_uri.empty(), m_resourceTypes.empty(), m_interfaces.empty(), m_clientWrapper.expired(), false, false); } - - std::string ip6Addr = host_token.substr(0, found); + // extract the ipaddress + std::string ip6Addr = host_token.substr(1, found-1); ip6Addr.copy(m_devAddr.addr, sizeof(m_devAddr.addr)); m_devAddr.addr[ip6Addr.length()] = '\0'; - host_token = host_token.substr(found + 1); + //skip ']' and ':' characters in host string + host_token = host_token.substr(found + 2); } else { @@ -149,11 +150,11 @@ void OCResource::setHost(const std::string& host) std::string addrPart = host_token.substr(0, found); addrPart.copy(m_devAddr.addr, sizeof(m_devAddr.addr)); m_devAddr.addr[addrPart.length()] = '\0'; - + //skip ':' character in host string host_token = host_token.substr(found + 1); } - int port = stoi(host_token); + int port = std::stoi(host_token); if( port < 0 || port > UINT16_MAX ) {