BUG/MINOR: quic: Possible unexpected counter incrementation on send*() errors

Some counters could potentially be incremented even if send*() syscall returned
no error when ret >= 0 and ret != sz. This could be the case for instance if
a first call to send*() returned -1 with errno set to EINTR (or any previous syscall
which set errno to a non-null value) and if the next call to send*() returned
something positive and smaller than <sz>.

Must be backported to 2.7 and 2.6.
diff --git a/src/quic_sock.c b/src/quic_sock.c
index 068541f..fd43859 100644
--- a/src/quic_sock.c
+++ b/src/quic_sock.c
@@ -609,7 +609,7 @@
 		}
 	} 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 @@
 		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.