From cbb081e2d4bb6d6ded1bd3ff97fc53e5a874a12c Mon Sep 17 00:00:00 2001 From: Norbert Thiebaud Date: Sun, 6 Jul 2014 06:31:25 +0200 Subject: coverity#982182: Unchecked return value Change-Id: I5a1820339ea598a606c46a1e03cd296fe81ef22f --- sd/source/ui/remotecontrol/DiscoveryService.cxx | 31 +++++++++++++++---------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/sd/source/ui/remotecontrol/DiscoveryService.cxx b/sd/source/ui/remotecontrol/DiscoveryService.cxx index d37dc3b82ccb..5dbebe781b29 100644 --- a/sd/source/ui/remotecontrol/DiscoveryService.cxx +++ b/sd/source/ui/remotecontrol/DiscoveryService.cxx @@ -152,22 +152,29 @@ void SAL_CALL DiscoveryService::run() memset( aBuffer, 0, sizeof(char) * BUFFER_SIZE ); sockaddr_in aAddr; socklen_t aLen = sizeof( aAddr ); - recvfrom( mSocket, aBuffer, BUFFER_SIZE, 0, (sockaddr*) &aAddr, &aLen ); - OString aString( aBuffer, strlen( "LOREMOTE_SEARCH" ) ); - if ( aString == "LOREMOTE_SEARCH" ) + if(recvfrom( mSocket, aBuffer, BUFFER_SIZE, 0, (sockaddr*) &aAddr, &aLen ) > 0) { - OStringBuffer aStringBuffer("LOREMOTE_ADVERTISE\n"); - aStringBuffer.append( OUStringToOString( - osl::SocketAddr::getLocalHostname(), RTL_TEXTENCODING_UTF8 ) ) - .append( "\n\n" ); - if ( sendto( mSocket, aStringBuffer.getStr(), - aStringBuffer.getLength(), 0, (sockaddr*) &aAddr, - sizeof(aAddr) ) <= 0 ) + OString aString( aBuffer, strlen( "LOREMOTE_SEARCH" ) ); + if ( aString == "LOREMOTE_SEARCH" ) { - // Read error or closed socket -- we are done. - return; + OStringBuffer aStringBuffer("LOREMOTE_ADVERTISE\n"); + aStringBuffer.append( OUStringToOString( + osl::SocketAddr::getLocalHostname(), RTL_TEXTENCODING_UTF8 ) ) + .append( "\n\n" ); + if ( sendto( mSocket, aStringBuffer.getStr(), + aStringBuffer.getLength(), 0, (sockaddr*) &aAddr, + sizeof(aAddr) ) <= 0 ) + { + // Write error or closed socket -- we are done. + return; + } } } + else + { + // Read error or closed socket -- we are done. + return; + } } } -- cgit v1.2.3