Skip to content

Commit d3a4879

Browse files
committed
provider: fix potential memory leak in Provider.load
Allocate the wrapper object before loading an OpenSSL provider.
1 parent 765c3d6 commit d3a4879

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

ext/openssl/ossl_provider.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ ossl_provider_s_load(VALUE klass, VALUE name)
5959

6060
const char *provider_name_ptr = StringValueCStr(name);
6161

62+
obj = NewProvider(klass);
6263
provider = OSSL_PROVIDER_load(NULL, provider_name_ptr);
6364
if (provider == NULL) {
6465
ossl_raise(eProviderError, "Failed to load %s provider", provider_name_ptr);
6566
}
66-
obj = NewProvider(klass);
6767
SetProvider(obj, provider);
6868

6969
return obj;

0 commit comments

Comments
 (0)