[openssl] master update

Dr. Paul Dale pauli at openssl.org
Mon May 17 00:22:49 UTC 2021


The branch master has been updated
       via  d7970dd963134534340ad00fa62cb1180daf5cb0 (commit)
      from  f5680cd0eb7fdf95db5a55028b889ea56295dac9 (commit)


- Log -----------------------------------------------------------------
commit d7970dd963134534340ad00fa62cb1180daf5cb0
Author: Petr Gotthard <petr.gotthard at centrum.cz>
Date:   Sat May 15 23:29:34 2021 +0200

    Fix pointer passed to provider_unquery_operation
    
    Walking through the `map` modifies the pointer passed to the `unquery`
    operation.
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15295)

-----------------------------------------------------------------------

Summary of changes:
 crypto/core_algorithm.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/crypto/core_algorithm.c b/crypto/core_algorithm.c
index 50344fbe2d..1a2e798c2c 100644
--- a/crypto/core_algorithm.c
+++ b/crypto/core_algorithm.c
@@ -59,11 +59,10 @@ static int algorithm_do_this(OSSL_PROVIDER *provider, void *cbdata)
         map = ossl_provider_query_operation(provider, cur_operation,
                                             &no_store);
         if (map != NULL) {
-            while (map->algorithm_names != NULL) {
-                const OSSL_ALGORITHM *thismap = map++;
+            const OSSL_ALGORITHM *thismap;
 
+            for (thismap = map; thismap->algorithm_names != NULL; thismap++)
                 data->fn(provider, thismap, no_store, data->data);
-            }
         }
         ossl_provider_unquery_operation(provider, cur_operation, map);
 


More information about the openssl-commits mailing list