fetch: convert a NULL property query to ""
[openssl.git] / crypto / evp / evp_fetch.c
index 80da3fa4bf8e345c52f2bcf9a6aa2909da77cd9a..ea32cd5dd2380a7823bd5e70b57f6f658dd56ca4 100644 (file)
@@ -247,6 +247,7 @@ inner_evp_generic_fetch(struct evp_method_data_st *methdata,
 {
     OSSL_METHOD_STORE *store = get_evp_method_store(methdata->libctx);
     OSSL_NAMEMAP *namemap = ossl_namemap_stored(methdata->libctx);
+    const char *const propq = properties != NULL ? properties : "";
     uint32_t meth_id = 0;
     void *method = NULL;
     int unsupported = 0;
@@ -299,8 +300,7 @@ inner_evp_generic_fetch(struct evp_method_data_st *methdata,
         unsupported = 1;
 
     if (meth_id == 0
-        || !ossl_method_store_cache_get(store, prov, meth_id, properties,
-                                        &method)) {
+        || !ossl_method_store_cache_get(store, prov, meth_id, propq, &method)) {
         OSSL_METHOD_CONSTRUCT_METHOD mcm = {
             get_tmp_evp_method_store,
             get_evp_method_from_store,
@@ -312,7 +312,7 @@ inner_evp_generic_fetch(struct evp_method_data_st *methdata,
         methdata->operation_id = operation_id;
         methdata->name_id = name_id;
         methdata->names = name;
-        methdata->propquery = properties;
+        methdata->propquery = propq;
         methdata->method_from_algorithm = new_method;
         methdata->refcnt_up_method = up_ref_method;
         methdata->destruct_method = free_method;
@@ -330,7 +330,7 @@ inner_evp_generic_fetch(struct evp_method_data_st *methdata,
                 name_id = ossl_namemap_name2num(namemap, name);
             meth_id = evp_method_id(name_id, operation_id);
             if (name_id != 0)
-                ossl_method_store_cache_set(store, prov, meth_id, properties,
+                ossl_method_store_cache_set(store, prov, meth_id, propq,
                                             method, up_ref_method, free_method);
         }