ack

----- Original Message -----
> From: "Daniel P. Berrange" <[email protected]>
> 
> If we fail to mmap the stack, abort the processs rather
> than returning an error. This is standard practice in
> glib apps, and the caller was not checking the
> coroutine_init() return code leading to memory corruption.
> 
> Signed-off-by: Daniel P. Berrange <[email protected]>
> ---
>  gtk/coroutine_ucontext.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/gtk/coroutine_ucontext.c b/gtk/coroutine_ucontext.c
> index af811a7..79e4afe 100644
> --- a/gtk/coroutine_ucontext.c
> +++ b/gtk/coroutine_ucontext.c
> @@ -20,6 +20,7 @@
>  
>  #include <config.h>
>  
> +#include <glib.h>
>  #ifdef HAVE_SYS_TYPES_H
>  #include <sys/types.h>
>  #endif
> @@ -69,7 +70,8 @@ int coroutine_init(struct coroutine *co)
>                           MAP_PRIVATE | MAP_ANONYMOUS,
>                           -1, 0);
>       if (co->cc.stack == MAP_FAILED)
> -             return -1;
> +             g_error("Failed to allocate %u bytes for coroutine stack",
> +                     (unsigned)co->stack_size);
>       co->cc.entry = coroutine_trampoline;
>       co->cc.release = _coroutine_release;
>       co->exited = 0;
> --
> 1.8.3.1
> 
> _______________________________________________
> Spice-devel mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to