|
|
Message-ID: <20170704211141.GP1627@brightrain.aerifal.cx>
Date: Tue, 4 Jul 2017 17:11:41 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: [PATCH] fix undefined behavior in free
On Tue, Jun 27, 2017 at 08:58:47PM +0300, Alexander Monakov wrote:
> ---
> src/malloc/malloc.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/malloc/malloc.c b/src/malloc/malloc.c
> index 720fa696..ef4c7368 100644
> --- a/src/malloc/malloc.c
> +++ b/src/malloc/malloc.c
> @@ -463,14 +463,15 @@ copy_realloc:
>
> void free(void *p)
> {
> - struct chunk *self = MEM_TO_CHUNK(p);
> - struct chunk *next;
> + struct chunk *self, *next;
> size_t final_size, new_size, size;
> int reclaim=0;
> int i;
>
> if (!p) return;
>
> + self = MEM_TO_CHUNK(p);
> +
> if (IS_MMAPPED(self)) {
> size_t extra = self->psize;
> char *base = (char *)self - extra;
> --
> 2.11.0
Thanks, applied
Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.