]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Data stack has now an extra NULL pointer padding before its actual data starts.
authorTimo Sirainen <tss@iki.fi>
Sun, 24 Nov 2013 18:41:42 +0000 (20:41 +0200)
committerTimo Sirainen <tss@iki.fi>
Sun, 24 Nov 2013 18:41:42 +0000 (20:41 +0200)
This is just an extra safety measure against buffer overflows.
Patch by Jann Horn.

src/lib/data-stack.c

index 79e3130a57510a07bc9c1bf1384812aba1fcc415..e9a89edcd542f8275b7ef69752efe6a6b7c1635e 100644 (file)
@@ -32,6 +32,9 @@ struct stack_block {
        struct stack_block *next;
 
        size_t size, left, lowwater;
+       /* always NULL and here just in case something accesses
+          the memory in front of an allocated area */
+       char *nullpad;
        /* unsigned char data[]; */
 };
 
@@ -299,6 +302,7 @@ static struct stack_block *mem_block_alloc(size_t min_size)
        block->left = 0;
        block->lowwater = block->size;
        block->next = NULL;
+       block->nullpad = NULL;
 
 #ifdef DEBUG
        memset(STACK_BLOCK_DATA(block), CLEAR_CHR, alloc_size);