From: Tobias Brunner Date: Tue, 20 Aug 2019 12:53:16 +0000 (+0200) Subject: generator: Make pointer to length field optional X-Git-Tag: 6.0.0rc1~56^2~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5c439bb8a3e4fa403056d855af7ea0492424e541;p=thirdparty%2Fstrongswan.git generator: Make pointer to length field optional Only useful if we generate an IKE header. --- diff --git a/src/libcharon/encoding/generator.c b/src/libcharon/encoding/generator.c index 3075abcf4e..aaa7f723fc 100644 --- a/src/libcharon/encoding/generator.c +++ b/src/libcharon/encoding/generator.c @@ -430,7 +430,10 @@ METHOD(generator_t, get_chunk, chunk_t, { chunk_t data; - *lenpos = (uint32_t*)(this->buffer + this->header_length_offset); + if (lenpos) + { + *lenpos = (uint32_t*)(this->buffer + this->header_length_offset); + } data = chunk_create(this->buffer, get_length(this)); if (this->debug) { diff --git a/src/libcharon/encoding/message.c b/src/libcharon/encoding/message.c index 1876d992e0..8ed0b1a680 100644 --- a/src/libcharon/encoding/message.c +++ b/src/libcharon/encoding/message.c @@ -2090,7 +2090,6 @@ METHOD(message_t, fragment, status_t, host_t *src, *dst; chunk_t data; status_t status; - uint32_t *lenpos; size_t len; src = this->packet->get_source(this->packet); @@ -2123,7 +2122,7 @@ METHOD(message_t, fragment, status_t, DESTROY_IF(generator); return status; } - data = generator->get_chunk(generator, &lenpos); + data = generator->get_chunk(generator, NULL); len = data.len + (encrypted ? encrypted->get_length(encrypted) : 0); } @@ -2179,7 +2178,7 @@ METHOD(message_t, fragment, status_t, } next = encrypted->payload_interface.get_next_type((payload_t*)encrypted); encrypted->generate_payloads(encrypted, generator); - data = generator->get_chunk(generator, &lenpos); + data = generator->get_chunk(generator, NULL); if (!is_encoded(this)) { encrypted->destroy(encrypted);