Hi

On Wed, Sep 10, 2014 at 11:20 AM,  <philippedesw...@gmail.com> wrote:
> From: Philippe De Swert <philippedesw...@gmail.com>
>
> After a section of memory is succesfully allocated, some of the following
> actions can still fail due to lack of memory. In this case -ENOMEM is
> returned without actually freeing the already mapped memory.
> Found with coverity. Fixes: CID#1237762
>
> Signed-off-by: Philippe De Swert <philippedesw...@gmail.com>

Applied!

Thanks
David

> ---
>  src/journal/mmap-cache.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/src/journal/mmap-cache.c b/src/journal/mmap-cache.c
> index 7dbbb5e..908562d 100644
> --- a/src/journal/mmap-cache.c
> +++ b/src/journal/mmap-cache.c
> @@ -496,15 +496,15 @@ static int add_mmap(
>
>          c = context_add(m, context);
>          if (!c)
> -                return -ENOMEM;
> +                goto outofmem;
>
>          f = fd_add(m, fd);
>          if (!f)
> -                return -ENOMEM;
> +                goto outofmem;
>
>          w = window_add(m);
>          if (!w)
> -                return -ENOMEM;
> +                goto outofmem;
>
>          w->keep_always = keep_always;
>          w->ptr = d;
> @@ -522,6 +522,10 @@ static int add_mmap(
>          if (ret)
>                  *ret = (uint8_t*) w->ptr + (offset - w->offset);
>          return 1;
> +
> +outofmem:
> +        munmap(d, wsize);
> +        return -ENOMEM;
>  }
>
>  int mmap_cache_get(
> --
> 1.8.3.2
>
> _______________________________________________
> systemd-devel mailing list
> systemd-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to