This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]