From c9897fa12ed458eefb3bdbe69fca70f0497e6c86 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Fri, 8 Mar 2002 19:09:15 +0000 Subject: [PATCH] *** empty log message *** --- lib/gnutls_buffers.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/lib/gnutls_buffers.c b/lib/gnutls_buffers.c index 5f7bf02af..e360867b9 100644 --- a/lib/gnutls_buffers.c +++ b/lib/gnutls_buffers.c @@ -624,22 +624,27 @@ ssize_t _gnutls_io_write_buffered( GNUTLS_STATE state, const void *iptr, size_t */ ssize_t _gnutls_io_write_buffered2( GNUTLS_STATE state, const void *iptr, size_t n, const void* iptr2, size_t n2) { -opaque* sptr; -ssize_t ret; - sptr = gnutls_malloc( n+n2); - if (sptr==NULL) { - gnutls_assert(); - return GNUTLS_E_MEMORY_ERROR; - } + if (n==0) { + return _gnutls_io_write_buffered( state, iptr2, n2); + } else { + opaque* sptr; + ssize_t ret; + + sptr = gnutls_malloc( n+n2); + if (sptr==NULL) { + gnutls_assert(); + return GNUTLS_E_MEMORY_ERROR; + } - memcpy( sptr, iptr, n); - memcpy( &sptr[n], iptr2, n2); + memcpy( sptr, iptr, n); + memcpy( &sptr[n], iptr2, n2); - ret = _gnutls_io_write_buffered( state, sptr, n+n2); - gnutls_free( sptr); + ret = _gnutls_io_write_buffered( state, sptr, n+n2); + gnutls_free( sptr); - return ret; + return ret; + } } -- 2.11.4.GIT