diff options
Diffstat (limited to 'Source/charon/encoding/payloads/encryption_payload.c')
-rw-r--r-- | Source/charon/encoding/payloads/encryption_payload.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/charon/encoding/payloads/encryption_payload.c b/Source/charon/encoding/payloads/encryption_payload.c index e43d38fe0..70bdcc9b2 100644 --- a/Source/charon/encoding/payloads/encryption_payload.c +++ b/Source/charon/encoding/payloads/encryption_payload.c @@ -388,9 +388,7 @@ static status_t decrypt(private_encryption_payload_t *this) /* free padding */ this->decrypted.ptr = allocator_realloc(this->decrypted.ptr, this->decrypted.len); - this->parse(this); - - return SUCCESS; + return (this->parse(this)); } /** @@ -539,9 +537,11 @@ static status_t parse(private_encryption_payload_t *this) return PARSE_ERROR; } + status = current_payload->verify(current_payload); if (status != SUCCESS) { + current_payload->destroy(current_payload); parser->destroy(parser); return VERIFY_ERROR; } |