Le 09/05/2014 08:43, Srivardhan Hebbar a écrit :
Checking for NULL before dereferencing the wl_event_source
pointer so as to avoid crash.

Signed-off-by: Srivardhan Hebbar <sri.heb...@samsung.com>
---
  src/event-loop.c |    7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/event-loop.c b/src/event-loop.c
index 9790cde..b62d16e 100644
--- a/src/event-loop.c
+++ b/src/event-loop.c
@@ -312,7 +312,12 @@ wl_event_source_check(struct wl_event_source *source)
  WL_EXPORT int
  wl_event_source_remove(struct wl_event_source *source)
  {
-       struct wl_event_loop *loop = source->loop;
+       struct wl_event_loop *loop;
+
+       if (source == NULL)
+               return 0;
+
+       loop = source->loop;

        /* We need to explicitly remove the fd, since closing the fd
         * isn't enough in case we've dup'ed the fd. */


Hello Srivardhan,

do you have a case where this check is hit ? I may be wrong but having no loop associated with a source event is not supposed to happen. So my guess is that a caller of wl_event_source_remove has forgotten to nullify the event source after the call.

Regards.

--
David FORT
website: http://www.hardening-consulting.com/
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to