Skip to content
Permalink
Browse files

libview: Check number of pages on ev_view_document_changed_cb

Fix crash on corrupted PDF with no pages.

Thanks to Juha Kylmänen from OUSPG who were testing robutness.
(CVE-2013-3718).

libview: Fix warning on ev_view_document_changed_cb
There was an introduction of a warning when fixing the bug
https://bugzilla.gnome.org/show_bug.cgi?id=701302

If ev_view_document_changed_cb () is emitted when there
is no previous document, the check fails.

This patch change the order of the condition checks.

origin commits:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=62b1585
https://git.gnome.org/browse/evince/commit/?h=gnome-3-8&id=5431595
  • Loading branch information...
gpoo authored and raveit65 committed May 31, 2013
1 parent 6346384 commit aa3bcfa7315593044de3a0462eabd1bf1d23df4b
Showing with 5 additions and 2 deletions.
  1. +5 −2 libview/ev-view.c
@@ -6769,12 +6769,15 @@ ev_view_document_changed_cb (EvDocumentModel *model,
g_object_unref (view->document);
}

view->document = document;
view->document = document ? g_object_ref (document) : NULL;
view->find_result = 0;

if (view->document) {
if (ev_document_get_n_pages (view->document) <= 0 ||
!ev_document_check_dimensions (view->document))
return;

ev_view_set_loading (view, FALSE);
g_object_ref (view->document);
setup_caches (view);
}

0 comments on commit aa3bcfa

Please sign in to comment.
You can’t perform that action at this time.