[master] 14be194 Use do/while to reassure coverity

Guillaume Quintard guillaume at varnish-software.com
Tue Feb 14 15:50:06 CET 2017


commit 14be19463659016c0369de0ac525c22f1fbe2dc1
Author: Guillaume Quintard <guillaume at varnish-software.com>
Date:   Tue Feb 14 15:49:54 2017 +0100

    Use do/while to reassure coverity

diff --git a/bin/varnishtest/vtc_http2.c b/bin/varnishtest/vtc_http2.c
index d40bbfa..5b6b9c2 100644
--- a/bin/varnishtest/vtc_http2.c
+++ b/bin/varnishtest/vtc_http2.c
@@ -2136,13 +2136,14 @@ cmd_rxhdrs(CMD_ARGS)
 	if (*av != NULL)
 		vtc_fatal(vl, "Unknown rxhdrs spec: %s\n", *av);
 
-	while (rcv++ < times || (loop && !(f->flags & END_HEADERS))) {
+	do {
 		f = rxstuff(s);
 		if (!f)
 			return;
+		rcv++;
 		CHKFRAME(f->type, expect, rcv, "rxhdrs");
 		expect = TYPE_CONTINUATION;
-	}
+	} while (rcv < times || (loop && !(f->flags & END_HEADERS)));
 	s->frame = f;
 }
 
@@ -2173,12 +2174,13 @@ cmd_rxcont(CMD_ARGS)
 	if (*av != NULL)
 		vtc_fatal(vl, "Unknown rxcont spec: %s\n", *av);
 
-	while (rcv++ < times || (loop && !(f->flags & END_HEADERS))) {
+	do {
 		f = rxstuff(s);
 		if (!f)
 			return;
+		rcv++;
 		CHKFRAME(f->type, TYPE_CONTINUATION, rcv, "rxcont");
-	}
+	} while (rcv < times || (loop && !(f->flags & END_HEADERS)));
 	s->frame = f;
 }
 
@@ -2223,12 +2225,13 @@ cmd_rxdata(CMD_ARGS)
 	if (*av != NULL)
 		vtc_fatal(vl, "Unknown rxdata spec: %s\n", *av);
 
-	while (rcv++ < times || (loop && !(f->flags & END_STREAM))) {
+	do {
 		f = rxstuff(s);
 		if (!f)
 			return;
+		rcv++;
 		CHKFRAME(f->type, TYPE_DATA, rcv, "rxhdata");
-	}
+	} while (rcv < times || (loop && !(f->flags & END_STREAM)));
 	s->frame = f;
 }
 
@@ -2324,13 +2327,14 @@ cmd_rxpush(CMD_ARGS)
 	if (*av != NULL)
 		vtc_fatal(vl, "Unknown rxpush spec: %s\n", *av);
 
-	while (rcv++ < times || (loop && !(f->flags & END_HEADERS))) {
+	do {
 		f = rxstuff(s);
 		if (!f)
 			return;
+		rcv++;
 		CHKFRAME(f->type, expect, rcv, "rxpush");
 		expect = TYPE_CONTINUATION;
-	}
+	} while (rcv < times || (loop && !(f->flags & END_HEADERS)));
 	s->frame = f;
 }
 



More information about the varnish-commit mailing list