From 515b9303dec61159b9e601be2c5e98781a6ee486 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 19 Jul 2021 17:12:09 +0200 Subject: [PATCH] message: Store original encrypted payload when generating fragments If we don't do this, get_plain() will fail after generating the message fragmented unless it was generated non-fragmented previously. --- src/libcharon/encoding/message.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcharon/encoding/message.c b/src/libcharon/encoding/message.c index fcc36024b..5d05e2091 100644 --- a/src/libcharon/encoding/message.c +++ b/src/libcharon/encoding/message.c @@ -2257,7 +2257,7 @@ METHOD(message_t, fragment, status_t, data = generator->get_chunk(generator, NULL); if (!is_encoded(this)) { - encrypted->destroy(encrypted); + this->payloads->insert_last(this->payloads, encrypted); } aead = keymat->get_aead(keymat, FALSE); /* overhead for the encrypted fragment payload */