diff options
author | lloyd <[email protected]> | 2008-11-12 19:53:19 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-11-12 19:53:19 +0000 |
commit | a558bd6f93f316fcee5f410b10fa890447ed78a6 (patch) | |
tree | d72e5e1b0927ecfd61b980e486dbf98e2e38895f /src/pbe/get_pbe.cpp | |
parent | 5f0aec7df70287f33001db4b59f63ad0904206bb (diff) |
Fix memory leaks in PBE_PKCS5v20 and get_pbe
Diffstat (limited to 'src/pbe/get_pbe.cpp')
-rw-r--r-- | src/pbe/get_pbe.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/pbe/get_pbe.cpp b/src/pbe/get_pbe.cpp index 5fa0291c8..961da4afc 100644 --- a/src/pbe/get_pbe.cpp +++ b/src/pbe/get_pbe.cpp @@ -42,11 +42,11 @@ PBE* get_pbe(const std::string& algo_spec) Algorithm_Factory& af = global_state().algorithm_factory(); - const BlockCipher* block_cipher = af.make_block_cipher(cipher_algo); + const BlockCipher* block_cipher = af.prototype_block_cipher(cipher_algo); if(!block_cipher) throw Algorithm_Not_Found(cipher_algo); - const HashFunction* hash_function = af.make_hash_function(digest_name); + const HashFunction* hash_function = af.prototype_hash_function(digest_name); if(!hash_function) throw Algorithm_Not_Found(digest_name); @@ -99,11 +99,13 @@ PBE* get_pbe(const OID& pbe_oid, DataSource& params) Algorithm_Factory& af = global_state().algorithm_factory(); - const BlockCipher* block_cipher = af.make_block_cipher(cipher_algo); + const BlockCipher* block_cipher = af.prototype_block_cipher(cipher_algo); if(!block_cipher) throw Algorithm_Not_Found(cipher_algo); - const HashFunction* hash_function = af.make_hash_function(digest_name); + const HashFunction* hash_function = + af.prototype_hash_function(digest_name); + if(!hash_function) throw Algorithm_Not_Found(digest_name); |