Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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 Mar 22, 2018
1 parent a04ab7f commit 9fc7889
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions libview/ev-view.c
Expand Up @@ -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);
}

Expand Down

0 comments on commit 9fc7889

Please sign in to comment.