Try to fix intermittent CI failures in sslapitest
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Wed, 28 Feb 2024 06:14:08 +0000 (07:14 +0100)
committerBernd Edlinger <bernd.edlinger@hotmail.de>
Thu, 7 Mar 2024 17:39:04 +0000 (18:39 +0100)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
(Merged from https://github.com/openssl/openssl/pull/23774)

test/tls-provider.c

index 8dfc3bcc7d8a56871a47e2640bb3be751e613fc5..5140a2d2b9c28ab14a251c9b6092e8168284b1cb 100644 (file)
@@ -185,6 +185,8 @@ static int tls_prov_get_capabilities(void *provctx, const char *capability,
     }
 
     /* Register our 2 groups */
+    OPENSSL_assert(xor_group.group_id >= 65024
+                   && xor_group.group_id < 65279 - NUM_DUMMY_GROUPS);
     ret = cb(xor_group_params, arg);
     ret &= cb(xor_kemgroup_params, arg);
 
@@ -196,6 +198,7 @@ static int tls_prov_get_capabilities(void *provctx, const char *capability,
 
     for (i = 0; i < NUM_DUMMY_GROUPS; i++) {
         OSSL_PARAM dummygroup[OSSL_NELEM(xor_group_params)];
+        unsigned int dummygroup_id;
 
         memcpy(dummygroup, xor_group_params, sizeof(xor_group_params));
 
@@ -211,7 +214,8 @@ static int tls_prov_get_capabilities(void *provctx, const char *capability,
         dummygroup[0].data = dummy_group_names[i];
         dummygroup[0].data_size = strlen(dummy_group_names[i]) + 1;
         /* assign unique group IDs also to dummy groups for registration */
-        *((int *)(dummygroup[3].data)) = 65279 - NUM_DUMMY_GROUPS + i;
+        dummygroup_id = 65279 - NUM_DUMMY_GROUPS + i;
+        dummygroup[3].data = (unsigned char*)&dummygroup_id;
         ret &= cb(dummygroup, arg);
     }