diff options
author | Jan Hutter <jhutter@hsr.ch> | 2005-11-29 12:23:40 +0000 |
---|---|---|
committer | Jan Hutter <jhutter@hsr.ch> | 2005-11-29 12:23:40 +0000 |
commit | 346af6f3de4735b2c7c8b6abf824bd0258c4be6c (patch) | |
tree | 0a87d2b7aee3c3ce663c745bf58423b0ec3d1bfb /Source/charon/encoding/message.c | |
parent | e85220af90ac154e9badeece3aaaab30973f648f (diff) | |
download | strongswan-346af6f3de4735b2c7c8b6abf824bd0258c4be6c.tar.bz2 strongswan-346af6f3de4735b2c7c8b6abf824bd0258c4be6c.tar.xz |
- fixed bug in diffie hellman exchange (no public value was written)
Diffstat (limited to 'Source/charon/encoding/message.c')
-rw-r--r-- | Source/charon/encoding/message.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/charon/encoding/message.c b/Source/charon/encoding/message.c index 82572e5a8..9e962328b 100644 --- a/Source/charon/encoding/message.c +++ b/Source/charon/encoding/message.c @@ -614,6 +614,7 @@ static status_t parse_body(private_message_t *this, crypter_t *crypter, signer_t if (status != SUCCESS) { this->logger->log(this->logger, ERROR, "payload type %s could not be verified",mapping_find(payload_type_m,current_payload_type)); + current_payload->destroy(current_payload); status = VERIFY_ERROR; return status; } @@ -627,12 +628,14 @@ static status_t parse_body(private_message_t *this, crypter_t *crypter, signer_t if (status != SUCCESS) { this->logger->log(this->logger, ERROR, "encryption payload signature invaild"); + current_payload->destroy(current_payload); return status; } status = encryption_payload->decrypt(encryption_payload, crypter); if (status != SUCCESS) { this->logger->log(this->logger, ERROR, "parsing decrypted encryption payload failed"); + current_payload->destroy(current_payload); return status; } } |