summaryrefslogtreecommitdiff
path: root/Ivy/BufferedSocket.cxx
diff options
context:
space:
mode:
authorfcolin2007-02-01 12:53:56 +0000
committerfcolin2007-02-01 12:53:56 +0000
commit98630f19f487c261bd68defc285c8216c0f7718c (patch)
treea195cac36d631ef39dd443329db47f008697e0ee /Ivy/BufferedSocket.cxx
parent38c6ccda650d81aca69dafa3d033bfeb8160e94c (diff)
downloadivy-cplusplus-98630f19f487c261bd68defc285c8216c0f7718c.zip
ivy-cplusplus-98630f19f487c261bd68defc285c8216c0f7718c.tar.gz
ivy-cplusplus-98630f19f487c261bd68defc285c8216c0f7718c.tar.bz2
ivy-cplusplus-98630f19f487c261bd68defc285c8216c0f7718c.tar.xz
Utilisateur : Fcolin Date : 19/04/06 Heure : 15:07 Archivé dans $/Bus/Ivy Commentaire: (vss 19)
Diffstat (limited to 'Ivy/BufferedSocket.cxx')
-rw-r--r--Ivy/BufferedSocket.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/Ivy/BufferedSocket.cxx b/Ivy/BufferedSocket.cxx
index 3335e09..1a11c56 100644
--- a/Ivy/BufferedSocket.cxx
+++ b/Ivy/BufferedSocket.cxx
@@ -36,6 +36,7 @@ void CBufferedSocket::OnReceive(int nErrorCode)
char *ptr;
size_t nb_to_read = 0;
size_t nb;
+ char *tmp_buf;
SOCKADDR addr;
size_t len = sizeof( addr );
@@ -45,12 +46,13 @@ void CBufferedSocket::OnReceive(int nErrorCode)
if( nb_to_read == 0 )
{
buffer_size *= 2; /* twice old size */
- buffer = (char*)realloc( buffer, buffer_size );
- if (!buffer )
+ tmp_buf = (char*)realloc( buffer, buffer_size );
+ if (!tmp_buf )
{
TRACE("HandleSocket Buffer Memory Alloc Error\n");
exit(0);
}
+ buffer = tmp_buf;
TRACE( "Buffer Limit reached realloc new size %ld\n", buffer_size );
nb_to_read = buffer_size - (current_ptr - buffer );
}