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 */