summaryrefslogtreecommitdiff
path: root/extra/evince
diff options
context:
space:
mode:
Diffstat (limited to 'extra/evince')
-rw-r--r--extra/evince/security_issues_in_dvi-backend.patch97
-rw-r--r--extra/evince/update_to_poppler_api.patch58
2 files changed, 0 insertions, 155 deletions
diff --git a/extra/evince/security_issues_in_dvi-backend.patch b/extra/evince/security_issues_in_dvi-backend.patch
deleted file mode 100644
index 691ee4190..000000000
--- a/extra/evince/security_issues_in_dvi-backend.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 8e473c9796b9a61b811213e7892fd36fd570303a Mon Sep 17 00:00:00 2001
-From: José Aliste <jaliste@src.gnome.org>
-Date: Tue, 07 Dec 2010 18:56:47 +0000
-Subject: backends: Fix several security issues in the dvi-backend.
-
-See CVE-2010-2640, CVE-2010-2641, CVE-2010-2642 and CVE-2010-2643.
----
-diff --git a/backend/dvi/mdvi-lib/afmparse.c b/backend/dvi/mdvi-lib/afmparse.c
-index 164366b..361e23d 100644
---- a/backend/dvi/mdvi-lib/afmparse.c
-+++ b/backend/dvi/mdvi-lib/afmparse.c
-@@ -160,7 +160,7 @@ static char *token(FILE *stream)
-
- idx = 0;
- while (ch != EOF && ch != ' ' && ch != lineterm
-- && ch != '\t' && ch != ':' && ch != ';')
-+ && ch != '\t' && ch != ':' && ch != ';' && idx < MAX_NAME)
- {
- ident[idx++] = ch;
- ch = fgetc(stream);
-diff --git a/backend/dvi/mdvi-lib/dviread.c b/backend/dvi/mdvi-lib/dviread.c
-index 97b7b84..ac98068 100644
---- a/backend/dvi/mdvi-lib/dviread.c
-+++ b/backend/dvi/mdvi-lib/dviread.c
-@@ -1537,6 +1537,10 @@ int special(DviContext *dvi, int opcode)
- Int32 arg;
-
- arg = dugetn(dvi, opcode - DVI_XXX1 + 1);
-+ if (arg <= 0) {
-+ dvierr(dvi, _("malformed special length\n"));
-+ return -1;
-+ }
- s = mdvi_malloc(arg + 1);
- dread(dvi, s, arg);
- s[arg] = 0;
-diff --git a/backend/dvi/mdvi-lib/pk.c b/backend/dvi/mdvi-lib/pk.c
-index a579186..08377e6 100644
---- a/backend/dvi/mdvi-lib/pk.c
-+++ b/backend/dvi/mdvi-lib/pk.c
-@@ -469,6 +469,15 @@ static int pk_load_font(DviParams *unused, DviFont *font)
- }
- if(feof(p))
- break;
-+
-+ /* Although the PK format support bigger char codes,
-+ * XeTeX and other extended TeX engines support charcodes up to
-+ * 65536, while normal TeX engine supports only charcode up to 255.*/
-+ if (cc < 0 || cc > 65536) {
-+ mdvi_error (_("%s: unexpected charcode (%d)\n"),
-+ font->fontname,cc);
-+ goto error;
-+ }
- if(cc < loc)
- loc = cc;
- if(cc > hic)
-@@ -512,7 +521,7 @@ static int pk_load_font(DviParams *unused, DviFont *font)
- }
-
- /* resize font char data */
-- if(loc > 0 || hic < maxch-1) {
-+ if(loc > 0 && hic < maxch-1) {
- memmove(font->chars, font->chars + loc,
- (hic - loc + 1) * sizeof(DviFontChar));
- font->chars = xresize(font->chars,
-diff --git a/backend/dvi/mdvi-lib/tfmfile.c b/backend/dvi/mdvi-lib/tfmfile.c
-index 73ebf26..8c2a30b 100644
---- a/backend/dvi/mdvi-lib/tfmfile.c
-+++ b/backend/dvi/mdvi-lib/tfmfile.c
-@@ -172,7 +172,8 @@ int tfm_load_file(const char *filename, TFMInfo *info)
- /* We read the entire TFM file into core */
- if(fstat(fileno(in), &st) < 0)
- return -1;
-- if(st.st_size == 0)
-+ /* according to the spec, TFM files are smaller than 16K */
-+ if(st.st_size == 0 || st.st_size >= 16384)
- goto bad_tfm;
-
- /* allocate a word-aligned buffer to hold the file */
-diff --git a/backend/dvi/mdvi-lib/vf.c b/backend/dvi/mdvi-lib/vf.c
-index fb49847..a5ae3bb 100644
---- a/backend/dvi/mdvi-lib/vf.c
-+++ b/backend/dvi/mdvi-lib/vf.c
-@@ -165,6 +165,12 @@ static int vf_load_font(DviParams *params, DviFont *font)
- cc = fuget1(p);
- tfm = fuget3(p);
- }
-+ if (cc < 0 || cc > 65536) {
-+ /* TeX engines do not support char codes bigger than 65535 */
-+ mdvi_error(_("(vf) %s: unexpected character %d\n"),
-+ font->fontname, cc);
-+ goto error;
-+ }
- if(loc < 0 || cc < loc)
- loc = cc;
- if(hic < 0 || cc > hic)
---
-cgit v0.8.3.1
diff --git a/extra/evince/update_to_poppler_api.patch b/extra/evince/update_to_poppler_api.patch
deleted file mode 100644
index 29bcad6b9..000000000
--- a/extra/evince/update_to_poppler_api.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From f77e6cf4fd7fef49ac91d8c62b6a9a993529adb8 Mon Sep 17 00:00:00 2001
-From: Carlos Garcia Campos <carlosgc@gnome.org>
-Date: Fri, 17 Sep 2010 11:21:16 +0000
-Subject: [pdf] Update to poppler api changes
-
-Linearized PopplerDocument property is now boolean rather than string.
----
-diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc
-index aa080e6..ced3ef7 100644
---- a/backend/pdf/ev-poppler.cc
-+++ b/backend/pdf/ev-poppler.cc
-@@ -722,6 +722,9 @@ pdf_document_get_info (EvDocument *document)
- PopplerPermissions permissions;
- EvPage *page;
- char *metadata;
-+#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED
-+ gboolean linearized;
-+#endif
-
- info = g_new0 (EvDocumentInfo, 1);
-
-@@ -758,7 +761,11 @@ pdf_document_get_info (EvDocument *document)
- "producer", &(info->producer),
- "creation-date", &(info->creation_date),
- "mod-date", &(info->modified_date),
-+#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED
-+ "linearized", &linearized,
-+#else
- "linearized", &(info->linearized),
-+#endif
- "metadata", &metadata,
- NULL);
-
-@@ -864,6 +871,10 @@ pdf_document_get_info (EvDocument *document)
- info->security = g_strdup (_("No"));
- }
-
-+#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED
-+ info->linearized = linearized ? g_strdup (_("Yes")) : g_strdup (_("No"));
-+#endif
-+
- return info;
- }
-
-diff --git a/configure.ac b/configure.ac
-index 0faa16e..9619349 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -512,6 +512,7 @@ if test "x$enable_pdf" = "xyes"; then
- AC_CHECK_FUNCS(poppler_page_get_text_layout)
- AC_CHECK_FUNCS(poppler_page_get_selected_text)
- AC_CHECK_FUNCS(poppler_page_add_annot)
-+ AC_CHECK_FUNCS(poppler_document_is_linearized)
- LIBS=$evince_save_LIBS
- PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no)
- if test x$enable_cairo_pdf = xyes; then
---
-cgit v0.8.3.1