Public bug reported:

evince/eog crash when using untrusted X11 connection (ssh -X with 
ForwardX11Trusted no) .

Somehow geis->backend ends up being NULL in this case, and it crashes in
geis_backend_create_token which is called with a NULL argument from
geis_backend_token_new (geis.c). I am not sure how this should be
handled, but adding a test at the top of geis_backend_token_new fixes
the problem:

  if (!geis->backend)
   return NULL;

This causes then a crash later in libgrip in the function
'processed_mapped_window_request' (gripgesturemanager.c), because it
calls geis_filter_add_term with a NULL filter. This may be fixed with a
test after 'geis_filter_new':

 GeisFilter window_filter = geis_filter_new(priv->geis, filter_id);

  if (NULL == window_filter)
        return;

Not sure if there are better ways, but this seems to fix it for me.

** Affects: libgrip
     Importance: Undecided
         Status: New

** Affects: geis (Ubuntu)
     Importance: Undecided
         Status: New

** Also affects: libgrip
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1276333

Title:
  evince/eog crash when using untrusted X11

To manage notifications about this bug go to:
https://bugs.launchpad.net/libgrip/+bug/1276333/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to