summaryrefslogtreecommitdiff
path: root/io/source/acceptor/acc_socket.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'io/source/acceptor/acc_socket.cxx')
-rw-r--r--io/source/acceptor/acc_socket.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/io/source/acceptor/acc_socket.cxx b/io/source/acceptor/acc_socket.cxx
index b1a30a15a82f..3fe29f3c0596 100644
--- a/io/source/acceptor/acc_socket.cxx
+++ b/io/source/acceptor/acc_socket.cxx
@@ -198,13 +198,12 @@ namespace io_acceptor {
{
notifyListeners(this, &_started, callStarted);
- if( aReadBytes.getLength() != nBytesToRead )
+ if( aReadBytes.getLength() < nBytesToRead )
{
aReadBytes.realloc( nBytesToRead );
}
- sal_Int32 i = 0;
- i = m_socket.read( aReadBytes.getArray() , aReadBytes.getLength() );
+ sal_Int32 i = m_socket.read( aReadBytes.getArray() , aReadBytes.getLength() );
if(i != nBytesToRead)
{
@@ -220,7 +219,10 @@ namespace io_acceptor {
throw ioException;
}
-
+ if( i < aReadBytes.getLength() )
+ {
+ aReadBytes.realloc( i );
+ }
return i;
}
else