Message ID | 20161028130449.BB0E9439942E0@oldenburg.str.redhat.com |
---|---|
State | New |
Headers | show |
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.
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); }