[PATCH] sysmalloc: Initialize previous size field of mmaped chunks

Carlos O'Donell carlos@redhat.com
Fri Oct 28 14:13:00 GMT 2016


On 10/28/2016 09:04 AM, Florian Weimer wrote:
> With different encodings of the header, the previous zero initialization
> may be insufficient and produce an invalid encoding.
> 
> 2016-10-27  Florian Weimer  <fweimer@redhat.com>
> 
> 	* malloc/malloc.c (sysmalloc): Initialize previous size field of
> 	mmaped chunks.
> 
> diff --git a/malloc/malloc.c b/malloc/malloc.c
> index 186e174..72d22bd 100644
> --- a/malloc/malloc.c
> +++ b/malloc/malloc.c
> @@ -2306,6 +2306,7 @@ sysmalloc (INTERNAL_SIZE_T nb, mstate av)
>                else
>                  {
>                    p = (mchunkptr) mm;
> +		  set_prev_size (p, 0);
>                    set_head (p, size | IS_MMAPPED);
>                  }
>  
 
Agreed. This looks good to me, and paves the way for the header
encodings to be non-zero.

-- 
Cheers,
Carlos.



More information about the Libc-alpha mailing list