summaryrefslogtreecommitdiff
path: root/io
diff options
context:
space:
mode:
authorDaniel Rentz [dr] <daniel.rentz@oracle.com>2011-02-28 10:08:33 +0100
committerDaniel Rentz [dr] <daniel.rentz@oracle.com>2011-02-28 10:08:33 +0100
commit0beb3b7f484c96194ca24a013e8e0c856e8cdb6b (patch)
treedbc9448c0aa4af83e5f83b6e36aa8094ec8f5fbb /io
parentcbcb63fd212d7044a7b4020e84c0adae258f5399 (diff)
parentea713649e558dcec291302bffd00b148a96e33a8 (diff)
dr78: rebase to DEV300_m101
Diffstat (limited to 'io')
-rw-r--r--io/source/acceptor/acc_pipe.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/io/source/acceptor/acc_pipe.cxx b/io/source/acceptor/acc_pipe.cxx
index 6d0b77484fef..63f688d32dca 100644
--- a/io/source/acceptor/acc_pipe.cxx
+++ b/io/source/acceptor/acc_pipe.cxx
@@ -101,11 +101,17 @@ namespace io_acceptor
{
if( ! m_nStatus )
{
- if( aReadBytes.getLength() != nBytesToRead )
+ if( aReadBytes.getLength() < nBytesToRead )
{
aReadBytes.realloc( nBytesToRead );
}
- return m_pipe.read( aReadBytes.getArray() , aReadBytes.getLength() );
+ sal_Int32 n = m_pipe.read( aReadBytes.getArray(), nBytesToRead );
+ OSL_ASSERT( n >= 0 && n <= aReadBytes.getLength() );
+ if( n < aReadBytes.getLength() )
+ {
+ aReadBytes.realloc( n );
+ }
+ return n;
}
else {
throw IOException();