]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Give precedence to vector push function
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Mon, 5 Jan 2015 14:08:28 +0000 (15:08 +0100)
committerNikos Mavrogiannopoulos <nmav@redhat.com>
Mon, 5 Jan 2015 15:44:19 +0000 (16:44 +0100)
lib/gnutls_buffers.c

index ef2ad236b322ba883bba5c48ba091bed978bf383..e4279a229e841b3854deece69a105c00df51dd61 100644 (file)
@@ -483,11 +483,13 @@ _gnutls_writev(gnutls_session_t session, const giovec_t * giovec,
                }
        }
 
-       if (session->internals.push_func != NULL || no_writev != 0)
-               i = _gnutls_writev_emu(session, fd, giovec, giovec_cnt);
-       else
+       if (session->internals.vec_push_func != NULL && no_writev == 0)
                i = session->internals.vec_push_func(fd, giovec,
                                                     giovec_cnt);
+       else if (session->internals.push_func)
+               i = _gnutls_writev_emu(session, fd, giovec, giovec_cnt);
+       else
+               return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
 
        if (i == -1) {
                int err = get_errno(session);