From 43f8fc7aeacd2bfb38efd0379330a2c82e4c2bfe Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Tue, 3 May 2011 11:45:45 +0200 Subject: [PATCH] b/f: when comparing address, only memcmp address space --- core/sip/transport.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/sip/transport.cpp b/core/sip/transport.cpp index 0c7e0f85..d8328dba 100644 --- a/core/sip/transport.cpp +++ b/core/sip/transport.cpp @@ -66,18 +66,19 @@ void trsp_socket::copy_addr_to(sockaddr_storage* sa) bool trsp_socket::match_addr(sockaddr_storage* other_addr) { - if(addr.ss_family != other_addr->ss_family) return false; + if(addr.ss_family != other_addr->ss_family) + return false; if(addr.ss_family == AF_INET){ if( !memcmp(&((sockaddr_in*)&addr)->sin_addr, &((sockaddr_in*)other_addr)->sin_addr, - sizeof(sockaddr_in)) ) + sizeof(in_addr)) ) return true; } else if(addr.ss_family == AF_INET6) { if( !memcmp(&((sockaddr_in6*)&addr)->sin6_addr, &((sockaddr_in6*)other_addr)->sin6_addr, - sizeof(sockaddr_in6)) ) + sizeof(in6_addr)) ) return true; }