Kaydet (Commit) 7dae480d authored tarafından Wilhelm Pflueger's avatar Wilhelm Pflueger Kaydeden (comit) Caolán McNamara

Tests in ure/sal/osl/socket unveiled SocketAddr comparison bug

Reenabled test unveiled a bug in socket.c when comparing socket
addresses.
üst c97a89f8
......@@ -594,11 +594,17 @@ sal_Bool SAL_CALL osl_isEqualSocketAddr (
oslSocketAddr Addr1,
oslSocketAddr Addr2)
{
OSL_ASSERT(Addr1);
OSL_ASSERT(Addr2);
struct sockaddr* pAddr1= &(Addr1->m_sockaddr);
struct sockaddr* pAddr2= &(Addr2->m_sockaddr);
OSL_ASSERT(pAddr1);
OSL_ASSERT(pAddr2);
if (pAddr1 == pAddr2)
{
return (sal_True);
}
if (pAddr1->sa_family == pAddr2->sa_family)
{
......@@ -617,7 +623,7 @@ sal_Bool SAL_CALL osl_isEqualSocketAddr (
default:
{
return (memcmp(pAddr1, Addr2, sizeof(struct sockaddr)) == 0);
return (memcmp(pAddr1, pAddr2, sizeof(struct sockaddr)) == 0);
}
}
}
......
......@@ -564,6 +564,8 @@ oslSocketAddr SAL_CALL osl_copySocketAddr(oslSocketAddr Addr)
/*****************************************************************************/
sal_Bool SAL_CALL osl_isEqualSocketAddr(oslSocketAddr Addr1, oslSocketAddr Addr2)
{
OSL_ASSERT(Addr1);
OSL_ASSERT(Addr2);
struct sockaddr* pAddr1= &(Addr1->m_sockaddr);
struct sockaddr* pAddr2= &(Addr2->m_sockaddr);
......@@ -587,7 +589,7 @@ sal_Bool SAL_CALL osl_isEqualSocketAddr(oslSocketAddr Addr1, oslSocketAddr Addr2
default:
{
return (memcmp(pAddr1, Addr2, sizeof(struct sockaddr)) == 0);
return (memcmp(pAddr1, pAddr2, sizeof(struct sockaddr)) == 0);
}
}
}
......
......@@ -123,47 +123,47 @@ SHL4VERSIONMAP = $(PRJ)$/qa$/export.map
# BEGIN ----------------------------------------------------------------
# auto generated Target:Socket by codegen.pl
#SHL5OBJS= \
# $(SLO)$/sockethelper.obj \
# $(SLO)$/osl_SocketAddr.obj
#
#SHL5TARGET= osl_SocketAddr
#SHL5STDLIBS= $(SALLIB) $(CPPUNITLIB)
#
#.IF "$(GUI)" == "WNT"
#SHL5STDLIBS += $(WS2_32LIB)
#.ENDIF
#
#.IF "$(GUI)" == "UNX"
#SHL5STDLIBS += -ldl -lnsl
#.ENDIF
#
#SHL5IMPLIB= i$(SHL5TARGET)
#DEF5NAME= $(SHL5TARGET)
#SHL5VERSIONMAP = $(PRJ)$/qa$/export.map
SHL5OBJS= \
$(SLO)$/sockethelper.obj \
$(SLO)$/osl_SocketAddr.obj
SHL5TARGET= osl_SocketAddr
SHL5STDLIBS= $(SALLIB) $(CPPUNITLIB)
.IF "$(GUI)" == "WNT"
SHL5STDLIBS += $(WS2_32LIB)
.ENDIF
.IF "$(GUI)" == "UNX"
SHL5STDLIBS += -ldl -lnsl
.ENDIF
SHL5IMPLIB= i$(SHL5TARGET)
DEF5NAME= $(SHL5TARGET)
SHL5VERSIONMAP = $(PRJ)$/qa$/export.map
# auto generated Target:Socket
# END ------------------------------------------------------------------
# BEGIN ----------------------------------------------------------------
# auto generated Target:Socket by codegen.pl
#SHL6OBJS= \
# $(SLO)$/sockethelper.obj \
# $(SLO)$/osl_Socket2.obj
#
#SHL6TARGET= osl_Socket2
#SHL6STDLIBS= $(SALLIB) $(CPPUNITLIB)
#
#.IF "$(GUI)" == "WNT"
#SHL6STDLIBS += $(WS2_32LIB)
#.ENDIF
#
#.IF "$(GUI)" == "UNX"
#SHL6STDLIBS += -ldl -lnsl
#.ENDIF
#
#SHL6IMPLIB= i$(SHL6TARGET)
#DEF6NAME= $(SHL6TARGET)
#SHL6VERSIONMAP = $(PRJ)$/qa$/export.map
SHL6OBJS= \
$(SLO)$/sockethelper.obj \
$(SLO)$/osl_Socket2.obj
SHL6TARGET= osl_Socket2
SHL6STDLIBS= $(SALLIB) $(CPPUNITLIB)
.IF "$(GUI)" == "WNT"
SHL6STDLIBS += $(WS2_32LIB)
.ENDIF
.IF "$(GUI)" == "UNX"
SHL6STDLIBS += -ldl -lnsl
.ENDIF
SHL6IMPLIB= i$(SHL6TARGET)
DEF6NAME= $(SHL6TARGET)
SHL6VERSIONMAP = $(PRJ)$/qa$/export.map
# auto generated Target:Socket
# END ------------------------------------------------------------------
......
......@@ -241,7 +241,8 @@ namespace osl_Socket
CPPUNIT_TEST( ctors_no_acquire );
CPPUNIT_TEST( ctors_copy_ctor );
CPPUNIT_TEST( ctors_TypeRaw );
CPPUNIT_TEST( ctors_family_Ipx );
//TODO: Check if family_Ipx is still in use?
// CPPUNIT_TEST( ctors_family_Ipx );
CPPUNIT_TEST_SUITE_END();
}; // class ctors
......
......@@ -866,7 +866,8 @@ namespace osl_SocketAddr
CPPUNIT_TEST_SUITE_REGISTRATION(osl_SocketAddr::ctors);
CPPUNIT_TEST_SUITE_REGISTRATION(osl_SocketAddr::is);
CPPUNIT_TEST_SUITE_REGISTRATION(osl_SocketAddr::getHostname);
//TODO: enable Test with valid host names
//CPPUNIT_TEST_SUITE_REGISTRATION(osl_SocketAddr::getHostname);
CPPUNIT_TEST_SUITE_REGISTRATION(osl_SocketAddr::getPort);
CPPUNIT_TEST_SUITE_REGISTRATION(osl_SocketAddr::setPort);
CPPUNIT_TEST_SUITE_REGISTRATION(osl_SocketAddr::setAddr);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment