]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
QUIC: Correct minimal frame encoding test
authorHugo Landau <hlandau@openssl.org>
Wed, 7 Jun 2023 13:11:50 +0000 (14:11 +0100)
committerPauli <pauli@openssl.org>
Sun, 16 Jul 2023 22:18:05 +0000 (08:18 +1000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21135)

test/quic_multistream_test.c
test/quic_wire_test.c

index 50a7377929dc71191e856d2887c8c6de40a5347c..0d473dfb53d3b8bd5f8c5011679b2ed95d3b910e 100644 (file)
@@ -2918,7 +2918,7 @@ static ossl_unused int test_dyn_frame_types(int idx)
 
     for (i = 0; i < OSSL_NELEM(dyn_frame_types_script); ++i)
         if (s[i].op == OPK_SET_INJECT_WORD) {
-            s[i].arg1 = forbidden_frame_types[idx].pkt_type;
+            s[i].arg1 = (size_t)forbidden_frame_types[idx].pkt_type;
             s[i].arg2 = forbidden_frame_types[idx].frame_type;
         } else if (s[i].op == OPK_C_EXPECT_CONN_CLOSE_INFO) {
             s[i].arg2 = forbidden_frame_types[idx].expected_err;
index c307643c1b3fc83cb09bc1b55592d359ef456507..f9c6688d99be97ccacef74d6bcb0a69092f25906 100644 (file)
@@ -533,32 +533,36 @@ static int encode_case_12_dec(PACKET *pkt, ossl_ssize_t fail)
 {
     uint64_t max_streams_1 = 0, max_streams_2 = 0,
             frame_type_1 = 0, frame_type_2 = 0;
-    int is_minimal;
+    int is_minimal = 1, success_if;
 
+    success_if = (fail < 0 || fail >= 1);
     if (!TEST_int_eq(ossl_quic_wire_peek_frame_header(pkt, &frame_type_1,
                                                       &is_minimal),
-                     fail < 0 || fail >= 1))
+                     success_if))
         return 0;
 
-    if (!TEST_true(is_minimal))
+    if (!TEST_true(!success_if || is_minimal))
         return 0;
 
+    success_if = (fail < 0 || fail >= 3);
     if (!TEST_int_eq(ossl_quic_wire_decode_frame_max_streams(pkt,
                                                              &max_streams_1),
-                     fail < 0 || fail >= 3))
+                     success_if))
         return 0;
 
+    success_if = (fail < 0 || fail >= 4);
     if (!TEST_int_eq(ossl_quic_wire_peek_frame_header(pkt, &frame_type_2,
                                                       &is_minimal),
-                     fail < 0 || fail >= 4))
+                     success_if))
         return 0;
 
-    if (!TEST_true(is_minimal))
+    if (!TEST_true(!success_if || is_minimal))
         return 0;
 
+    success_if = (fail < 0);
     if (!TEST_int_eq(ossl_quic_wire_decode_frame_max_streams(pkt,
                                                              &max_streams_2),
-                     fail < 0))
+                     success_if))
         return 0;
 
     if ((fail < 0 || fail >= 3)
@@ -672,27 +676,30 @@ static int encode_case_15_dec(PACKET *pkt, ossl_ssize_t fail)
 {
     uint64_t max_streams_1 = 0, max_streams_2 = 0,
             frame_type_1 = 0, frame_type_2 = 0;
-    int is_minimal;
+    int is_minimal = 1, success_if;
 
+    success_if = (fail < 0 || fail >= 1);
     if (!TEST_int_eq(ossl_quic_wire_peek_frame_header(pkt, &frame_type_1,
                                                       &is_minimal),
-                     fail < 0 || fail >= 1))
+                     success_if))
         return 0;
 
-    if (!TEST_true(is_minimal))
+    if (!TEST_true(!success_if || is_minimal))
         return 0;
 
+    success_if = (fail < 0 || fail >= 3);
     if (!TEST_int_eq(ossl_quic_wire_decode_frame_streams_blocked(pkt,
                                                                  &max_streams_1),
-                     fail < 0 || fail >= 3))
+                     success_if))
         return 0;
 
+    success_if = (fail < 0 || fail >= 4);
     if (!TEST_int_eq(ossl_quic_wire_peek_frame_header(pkt, &frame_type_2,
                                                       &is_minimal),
-                     fail < 0 || fail >= 4))
+                     success_if))
         return 0;
 
-    if (!TEST_true(is_minimal))
+    if (!TEST_true(!success_if || is_minimal))
         return 0;
 
     if (!TEST_int_eq(ossl_quic_wire_decode_frame_streams_blocked(pkt,