diff --git a/src/quic_sock.c b/src/quic_sock.c index 068541f89..fd43859f3 100644 --- a/src/quic_sock.c +++ b/src/quic_sock.c @@ -609,7 +609,7 @@ int qc_snd_buf(struct quic_conn *qc, const struct buffer *buf, size_t sz, } } while (ret < 0 && errno == EINTR); - if (ret < 0 || ret != sz) { + if (ret < 0) { struct proxy *prx = qc->li->bind_conf->frontend; struct quic_counters *prx_counters = EXTRA_COUNTERS_GET(prx->extra_counters_fe, @@ -633,6 +633,9 @@ int qc_snd_buf(struct quic_conn *qc, const struct buffer *buf, size_t sz, return 1; } + if (ret != sz) + return 1; + /* we count the total bytes sent, and the send rate for 32-byte blocks. * The reason for the latter is that freq_ctr are limited to 4GB and * that it's not enough per second.