diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/filters/modes/cbc/cbc.h | 4 | ||||
-rw-r--r-- | src/filters/modes/cfb/cfb.h | 4 | ||||
-rw-r--r-- | src/filters/modes/cts/cts.h | 4 | ||||
-rw-r--r-- | src/filters/modes/xts/xts.h | 2 |
4 files changed, 12 insertions, 2 deletions
diff --git a/src/filters/modes/cbc/cbc.h b/src/filters/modes/cbc/cbc.h index b303a841f..6d9092041 100644 --- a/src/filters/modes/cbc/cbc.h +++ b/src/filters/modes/cbc/cbc.h @@ -39,7 +39,7 @@ class BOTAN_DLL CBC_Encryption : public Keyed_Filter, const SymmetricKey& key, const InitializationVector& iv); - ~CBC_Encryption() { delete padder; } + ~CBC_Encryption() { delete cipher; delete padder; } private: void buffered_block(const byte input[], u32bit input_length); void buffered_final(const byte input[], u32bit input_length); @@ -76,7 +76,7 @@ class BOTAN_DLL CBC_Decryption : public Keyed_Filter, const SymmetricKey& key, const InitializationVector& iv); - ~CBC_Decryption() { delete padder; } + ~CBC_Decryption() { delete cipher; delete padder; } private: void buffered_block(const byte input[], u32bit input_length); void buffered_final(const byte input[], u32bit input_length); diff --git a/src/filters/modes/cfb/cfb.h b/src/filters/modes/cfb/cfb.h index 917125e46..249ae21db 100644 --- a/src/filters/modes/cfb/cfb.h +++ b/src/filters/modes/cfb/cfb.h @@ -34,6 +34,8 @@ class BOTAN_DLL CFB_Encryption : public Keyed_Filter const SymmetricKey& key, const InitializationVector& iv, u32bit feedback = 0); + + ~CFB_Encryption() { delete cipher; } private: void write(const byte[], u32bit); @@ -63,6 +65,8 @@ class BOTAN_DLL CFB_Decryption : public Keyed_Filter const SymmetricKey& key, const InitializationVector& iv, u32bit feedback = 0); + + ~CFB_Decryption() { delete cipher; } private: void write(const byte[], u32bit); diff --git a/src/filters/modes/cts/cts.h b/src/filters/modes/cts/cts.h index 4a7513fa0..c15fa9510 100644 --- a/src/filters/modes/cts/cts.h +++ b/src/filters/modes/cts/cts.h @@ -33,6 +33,8 @@ class BOTAN_DLL CTS_Encryption : public Keyed_Filter CTS_Encryption(BlockCipher* cipher, const SymmetricKey& key, const InitializationVector& iv); + + ~CTS_Encryption() { delete cipher; } private: void write(const byte[], u32bit); void end_msg(); @@ -63,6 +65,8 @@ class BOTAN_DLL CTS_Decryption : public Keyed_Filter CTS_Decryption(BlockCipher* cipher, const SymmetricKey& key, const InitializationVector& iv); + + ~CTS_Decryption() { delete cipher; } private: void write(const byte[], u32bit); void end_msg(); diff --git a/src/filters/modes/xts/xts.h b/src/filters/modes/xts/xts.h index 724085d9d..a01b1da1d 100644 --- a/src/filters/modes/xts/xts.h +++ b/src/filters/modes/xts/xts.h @@ -68,6 +68,8 @@ class BOTAN_DLL XTS_Decryption : public Keyed_Filter, XTS_Decryption(BlockCipher* ciph, const SymmetricKey& key, const InitializationVector& iv); + + ~XTS_Decryption() { delete cipher; delete cipher2; } private: void write(const byte[], u32bit); void end_msg(); |