]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
generator: Make pointer to length field optional
authorTobias Brunner <tobias@strongswan.org>
Tue, 20 Aug 2019 12:53:16 +0000 (14:53 +0200)
committerTobias Brunner <tobias@strongswan.org>
Wed, 7 Aug 2024 14:20:18 +0000 (16:20 +0200)
Only useful if we generate an IKE header.

src/libcharon/encoding/generator.c
src/libcharon/encoding/message.c

index 3075abcf4ec0294bc631406b96bbc14d6ada4e3c..aaa7f723fcd00388ca0f38bfd24f8e6978d73cdc 100644 (file)
@@ -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)
        {
index 1876d992e0afc83d04f2f08e96025bbc8945ec0a..8ed0b1a680866b51ebb35925e0d6969e56d65277 100644 (file)
@@ -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);