pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/print/mupdf



Module Name:    pkgsrc
Committed By:   leot
Date:           Fri Jul 22 15:42:38 UTC 2016

Modified Files:
        pkgsrc/print/mupdf: Makefile distinfo
Added Files:
        pkgsrc/print/mupdf/patches: patch-source_pdf_pdf-xref.c

Log Message:
Add a patch to fix CVE-2016-6265 use after free bug (from upstream)

Bump PKGREVISION


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 pkgsrc/print/mupdf/Makefile
cvs rdiff -u -r1.25 -r1.26 pkgsrc/print/mupdf/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/print/mupdf/patches/patch-source_pdf_pdf-xref.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/print/mupdf/Makefile
diff -u pkgsrc/print/mupdf/Makefile:1.37 pkgsrc/print/mupdf/Makefile:1.38
--- pkgsrc/print/mupdf/Makefile:1.37    Fri Jul 15 12:32:33 2016
+++ pkgsrc/print/mupdf/Makefile Fri Jul 22 15:42:38 2016
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.37 2016/07/15 12:32:33 leot Exp $
+# $NetBSD: Makefile,v 1.38 2016/07/22 15:42:38 leot Exp $
 
 DISTNAME=      mupdf-1.9a-source
 PKGNAME=       ${DISTNAME:S/-source//}
-PKGREVISION=   1
+PKGREVISION=   2
 CATEGORIES=    print
 MASTER_SITES=  http://mupdf.com/downloads/archive/
 

Index: pkgsrc/print/mupdf/distinfo
diff -u pkgsrc/print/mupdf/distinfo:1.25 pkgsrc/print/mupdf/distinfo:1.26
--- pkgsrc/print/mupdf/distinfo:1.25    Fri Jul 15 12:32:33 2016
+++ pkgsrc/print/mupdf/distinfo Fri Jul 22 15:42:38 2016
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.25 2016/07/15 12:32:33 leot Exp $
+$NetBSD: distinfo,v 1.26 2016/07/22 15:42:38 leot Exp $
 
 SHA1 (mupdf-1.9a-source.tar.gz) = f2b3c21e5060d6ec56ea0d0c32b0feac7eac0e5f
 RMD160 (mupdf-1.9a-source.tar.gz) = 0cb0d098c603b16be217e42299052a928d95c3fc
@@ -9,4 +9,5 @@ SHA1 (patch-ab) = c1ee4dd0b79aa0d905c0a0
 SHA1 (patch-ac) = 51b62ef8ff3e6c44ad954b2405bd982f9d682d37
 SHA1 (patch-ae) = c6b113818b32cb4470e8549c00a16e0b2f364ede
 SHA1 (patch-source_fitz_load-jpx.c) = cb33828a6ca638c1b61ff017708a41cc586d1b0e
+SHA1 (patch-source_pdf_pdf-xref.c) = 406c7a664b7171eb5ca7c5a09aac6be549a8fbb5
 SHA1 (patch-thirdparty_mujs_Makefile) = f1da7cdf2c9e2e4bbac3e80ef486204a39b27e34

Added files:

Index: pkgsrc/print/mupdf/patches/patch-source_pdf_pdf-xref.c
diff -u /dev/null pkgsrc/print/mupdf/patches/patch-source_pdf_pdf-xref.c:1.1
--- /dev/null   Fri Jul 22 15:42:38 2016
+++ pkgsrc/print/mupdf/patches/patch-source_pdf_pdf-xref.c      Fri Jul 22 15:42:38 2016
@@ -0,0 +1,23 @@
+$NetBSD: patch-source_pdf_pdf-xref.c,v 1.1 2016/07/22 15:42:38 leot Exp $
+
+Fix for CVE-2016-6265 use after free (via upstream bug 696941).
+
+--- source/pdf/pdf-xref.c.orig 2016-04-21 11:14:32.000000000 +0000
++++ source/pdf/pdf-xref.c
+@@ -1191,8 +1191,14 @@ pdf_load_xref(fz_context *ctx, pdf_docum
+                               fz_throw(ctx, FZ_ERROR_GENERIC, "object offset out of range: %d (%d 0 R)", (int)entry->ofs, i);
+               }
+               if (entry->type == 'o')
+-                      if (entry->ofs <= 0 || entry->ofs >= xref_len || pdf_get_xref_entry(ctx, doc, entry->ofs)->type != 'n')
+-                              fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)entry->ofs, i);
++              {
++                      /* Read this into a local variable here, because pdf_get_xref_entry
++                       * may solidify the xref, hence invalidating "entry", meaning we
++                       * need a stashed value for the throw. */
++                      fz_off_t ofs = entry->ofs;
++                      if (ofs <= 0 || ofs >= xref_len || pdf_get_xref_entry(ctx, doc, ofs)->type != 'n')
++                              fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)ofs, i);
++              }
+       }
+ }
+ 



Home | Main Index | Thread Index | Old Index