]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
*** empty log message ***
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 8 Mar 2002 19:09:15 +0000 (19:09 +0000)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 8 Mar 2002 19:09:15 +0000 (19:09 +0000)
lib/gnutls_buffers.c

index 5f7bf02afcd91461c89f3898e13aa03b3d256794..e360867b95d2cf9927efd8afd00e9260da79c1c9 100644 (file)
@@ -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;
+       }
 }