diff --git a/lib/vquic/vquic.c b/lib/vquic/vquic.c index 31a5297f35..5cf4b0f90c 100644 --- a/lib/vquic/vquic.c +++ b/lib/vquic/vquic.c @@ -168,6 +168,7 @@ static CURLcode do_sendmsg(struct Curl_cfilter *cf, return CURLE_AGAIN; case SOCKEMSGSIZE: /* UDP datagram is too large; caused by PMTUD. Just let it be lost. */ + *psent = pktlen; break; case EIO: if(pktlen > gsolen) { @@ -206,13 +207,13 @@ static CURLcode do_sendmsg(struct Curl_cfilter *cf, goto out; } else { - failf(data, "send() returned %zd (errno %d)", rv, SOCKERRNO); if(SOCKERRNO != SOCKEMSGSIZE) { + failf(data, "send() returned %zd (errno %d)", rv, SOCKERRNO); result = CURLE_SEND_ERROR; goto out; } - /* UDP datagram is too large; caused by PMTUD. Just let it be - lost. */ + /* UDP datagram is too large; caused by PMTUD. Just let it be lost. */ + *psent = pktlen; } } #endif