]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-ntlm: Ensure data_size is large enough for buffer
authorAki Tuomi <aki.tuomi@open-xchange.com>
Mon, 31 Aug 2020 07:33:05 +0000 (10:33 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Fri, 11 Sep 2020 07:07:20 +0000 (07:07 +0000)
src/lib-ntlm/ntlm-message.c

index 65dcfdfdbfe27f3f10589a7843efdebba388c182..d1aef0f6a06c4132c613a4ebeb47e742c283803d 100644 (file)
@@ -176,6 +176,11 @@ ntlmssp_create_challenge(pool_t pool, const struct ntlmssp_request *request,
 static bool ntlmssp_check_buffer(const struct ntlmssp_buffer *buffer,
                                 size_t data_size, const char **error)
 {
+       if (data_size < sizeof(*buffer)) {
+               *error = "data_size is smaller than buffer header";
+               return FALSE;
+       }
+
        uint32_t offset = le32_to_cpu(buffer->offset);
        uint16_t length = le16_to_cpu(buffer->length);
        uint16_t space = le16_to_cpu(buffer->space);