Hi Denis, Marek,

Below is a patch I submitted last week that fixes a memory corruption with
DirectFB (Single mode).

Is it possible to have your feedback on it?

I've attached a test case that produces the error in a previous e-mail to
the ML.

Thanks,
Ilyes

On Sat, Feb 16, 2013 at 1:42 PM, Ilyes Gouta <ilyes.go...@gmail.com> wrote:

> Fixes a segmentation fault caused by a use-after-free condition of
> a fusion object.
>
> Fusion calls within fusion_ref_down() shouldn't be deferred as these
> could become nested especially when invoked in the context of the event
> dispatch loop.
>
> Signed-off-by: Ilyes Gouta <ilyes.go...@gmail.com>
> ---
>  lib/fusion/ref.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/fusion/ref.c b/lib/fusion/ref.c
> index 0679e2f..739b23a 100644
> --- a/lib/fusion/ref.c
> +++ b/lib/fusion/ref.c
> @@ -848,7 +848,7 @@ fusion_ref_down (FusionRef *ref, bool global)
>                 FusionCall *call = ref->single.call;
>
>                 if (call->handler) {
> -                    fusion_call_execute( call, FCEF_NODIRECT |
> FCEF_ONEWAY, ref->single.call_arg, NULL, NULL );
> +                    fusion_call_execute( call, FCEF_ONEWAY,
> ref->single.call_arg, NULL, NULL );
>
>                      direct_mutex_unlock( &ref->single.lock );
>
> --
> 1.8.1.2
>
>
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to