summaryrefslogtreecommitdiffstats
path: root/office/evince/patches/evince-2.32.0-libdocument-segfault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'office/evince/patches/evince-2.32.0-libdocument-segfault.patch')
-rw-r--r--office/evince/patches/evince-2.32.0-libdocument-segfault.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/office/evince/patches/evince-2.32.0-libdocument-segfault.patch b/office/evince/patches/evince-2.32.0-libdocument-segfault.patch
new file mode 100644
index 0000000000..bef8d80cce
--- /dev/null
+++ b/office/evince/patches/evince-2.32.0-libdocument-segfault.patch
@@ -0,0 +1,35 @@
+From a933a516e9b6a4199d22055f9041747e00498901 Mon Sep 17 00:00:00 2001
+From: José Aliste <jaliste@src.gnome.org>
+Date: Wed, 29 Sep 2010 16:22:32 +0000
+Subject: [libdocument] Check for NULL in synctex_backward_search.
+
+Fixes bug #630845
+---
+diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c
+index 70349dc..742b51c 100644
+--- a/libdocument/ev-document.c
++++ b/libdocument/ev-document.c
+@@ -419,11 +419,16 @@ ev_document_synctex_backward_search (EvDocument *document,
+ /* We assume that a backward search returns either zero or one result_node */
+ node = synctex_next_result (scanner);
+ if (node != NULL) {
+- result = g_new (EvSourceLink, 1);
+- result->filename = synctex_scanner_get_name (scanner,
+- synctex_node_tag (node));
+- result->line = synctex_node_line (node);
+- result->col = synctex_node_column (node);
++ const gchar *filename;
++
++ filename = synctex_scanner_get_name (scanner, synctex_node_tag (node));
++
++ if (filename) {
++ result = g_new (EvSourceLink, 1);
++ result->filename = filename;
++ result->line = synctex_node_line (node);
++ result->col = synctex_node_column (node);
++ }
+ }
+ }
+
+--
+cgit v0.8.3.1