Hash :
861a6ca1
        
        Author :
  
        
        Date :
2017-12-30T20:15:56
        
      
Modify regress tests/tlsexttest.c for 0 sized array - Windows and hp-ux ANSI compiler can not handle 0 sized array initialization.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
--- tests/tlsexttest.c.orig	2017-12-30 20:03:09.279079726 +0900
+++ tests/tlsexttest.c	2017-12-30 20:07:21.849939140 +0900
@@ -1676,7 +1676,9 @@ static unsigned char tlsext_sni_clienthe
 };
 
 static unsigned char tlsext_sni_serverhello[] = {
+	0x00
 };
+const size_t sizeof_tlsext_sni_serverhello = 0;
 
 static int
 test_tlsext_sni_clienthello(void)
@@ -1839,9 +1841,9 @@ test_tlsext_sni_serverhello(void)
 	if (!CBB_finish(&cbb, &data, &dlen))
 		errx(1, "failed to finish CBB");
 
-	if (dlen != sizeof(tlsext_sni_serverhello)) {
+	if (dlen != sizeof_tlsext_sni_serverhello) {
 		FAIL("got serverhello SNI with length %zu, "
-		    "want length %zu\n", dlen, sizeof(tlsext_sni_serverhello));
+		    "want length %zu\n", dlen, sizeof_tlsext_sni_serverhello);
 		goto err;
 	}
 
@@ -1850,14 +1852,14 @@ test_tlsext_sni_serverhello(void)
 		fprintf(stderr, "received:\n");
 		hexdump(data, dlen);
 		fprintf(stderr, "test data:\n");
-		hexdump(tlsext_sni_serverhello, sizeof(tlsext_sni_serverhello));
+		hexdump(tlsext_sni_serverhello, sizeof_tlsext_sni_serverhello);
 		goto err;
 	}
 
 	free(ssl->session->tlsext_hostname);
 	ssl->session->tlsext_hostname = NULL;
 
-	CBS_init(&cbs, tlsext_sni_serverhello, sizeof(tlsext_sni_serverhello));
+	CBS_init(&cbs, tlsext_sni_serverhello, sizeof_tlsext_sni_serverhello);
 	if (!tlsext_sni_serverhello_parse(ssl, &cbs, &alert)) {
 		FAIL("failed to parse serverhello SNI\n");
 		goto err;
@@ -2741,7 +2743,10 @@ unsigned char tlsext_clienthello_default
 	0x03, 0x01, 0x03, 0x03, 0x02, 0x01, 0x02, 0x03,
 };
 
-unsigned char tlsext_clienthello_disabled[] = {};
+unsigned char tlsext_clienthello_disabled[] = {
+	0x00
+};
+const size_t sizeof_tlsext_clienthello_disabled = 0;
 
 static int
 test_tlsext_clienthello_build(void)
@@ -2806,18 +2811,18 @@ test_tlsext_clienthello_build(void)
 	if (!CBB_finish(&cbb, &data, &dlen))
 		errx(1, "failed to finish CBB");
 
-	if (dlen != sizeof(tlsext_clienthello_disabled)) {
+	if (dlen != sizeof_tlsext_clienthello_disabled) {
 		FAIL("got clienthello extensions with length %zu, "
 		    "want length %zu\n", dlen,
-		    sizeof(tlsext_clienthello_disabled));
+		    sizeof_tlsext_clienthello_disabled);
 		compare_data(data, dlen, tlsext_clienthello_disabled,
-		    sizeof(tlsext_clienthello_disabled));
+		    sizeof_tlsext_clienthello_disabled);
 		goto err;
 	}
 	if (memcmp(data, tlsext_clienthello_disabled, dlen) != 0) {
 		FAIL("clienthello extensions differs:\n");
 		compare_data(data, dlen, tlsext_clienthello_disabled,
-		    sizeof(tlsext_clienthello_disabled));
+		    sizeof_tlsext_clienthello_disabled);
 		goto err;
 	}
 
@@ -2832,7 +2837,10 @@ test_tlsext_clienthello_build(void)
 	return (failure);
 }
 
-unsigned char tlsext_serverhello_default[] = {};
+unsigned char tlsext_serverhello_default[] = {
+	0x00
+};
+const size_t sizeof_tlsext_serverhello_default = 0;
 
 unsigned char tlsext_serverhello_enabled[] = {
 	0x00, 0x13, 0xff, 0x01, 0x00, 0x01, 0x00, 0x00,
@@ -2872,18 +2880,18 @@ test_tlsext_serverhello_build(void)
 	if (!CBB_finish(&cbb, &data, &dlen))
 		errx(1, "failed to finish CBB");
 
-	if (dlen != sizeof(tlsext_serverhello_default)) {
+	if (dlen != sizeof_tlsext_serverhello_default) {
 		FAIL("got serverhello extensions with length %zu, "
 		    "want length %zu\n", dlen,
-		    sizeof(tlsext_serverhello_default));
+		    sizeof_tlsext_serverhello_default);
 		compare_data(data, dlen, tlsext_serverhello_default,
-		    sizeof(tlsext_serverhello_default));
+		    sizeof_tlsext_serverhello_default);
 		goto err;
 	}
 	if (memcmp(data, tlsext_serverhello_default, dlen) != 0) {
 		FAIL("serverhello extensions differs:\n");
 		compare_data(data, dlen, tlsext_serverhello_default,
-		    sizeof(tlsext_serverhello_default));
+		    sizeof_tlsext_serverhello_default);
 		goto err;
 	}