pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/graphics/libfpx Add patches to fix CVE-2017-12925 , CV...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a12eb794785c
branches:  trunk
changeset: 369781:a12eb794785c
user:      nros <nros%pkgsrc.org@localhost>
date:      Wed Oct 04 17:19:33 2017 +0000

description:
Add patches to fix CVE-2017-12925 , CVE-2017-12921 and a possible fix
for CVE-2017-12920.
Use += in master sites insted of \.
Bump PKGREVISION.

diffstat:

 graphics/libfpx/Makefile                        |   9 +-
 graphics/libfpx/distinfo                        |   5 +-
 graphics/libfpx/patches/patch-fpx_f__fpxvw.cpp  |  76 +++++++++++++++++++++++++
 graphics/libfpx/patches/patch-oless_dir.cxx     |  13 ++++
 graphics/libfpx/patches/patch-oless_docfile.cxx |  27 ++++++++
 5 files changed, 125 insertions(+), 5 deletions(-)

diffs (163 lines):

diff -r 6d87e1afdef3 -r a12eb794785c graphics/libfpx/Makefile
--- a/graphics/libfpx/Makefile  Wed Oct 04 16:40:05 2017 +0000
+++ b/graphics/libfpx/Makefile  Wed Oct 04 17:19:33 2017 +0000
@@ -1,12 +1,13 @@
-# $NetBSD: Makefile,v 1.2 2017/08/04 20:03:17 wiz Exp $
+# $NetBSD: Makefile,v 1.3 2017/10/04 17:19:33 nros Exp $
 
 libfpx_ver=    1.3.1
 DISTNAME=      libfpx-${libfpx_ver}-9
 PKGNAME=       libfpx-${libfpx_ver}
+PKGREVISION=   1
 CATEGORIES=    graphics
-MASTER_SITES=  ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/ \
-               ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/delegates/ \
-               http://www.imagemagick.org/download/delegates/
+MASTER_SITES=  ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/
+MASTER_SITES+= ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/delegates/
+MASTER_SITES+= http://www.imagemagick.org/download/delegates/
 EXTRACT_SUFX=  .tar.xz
 
 MAINTAINER=    nros%NetBSD.org@localhost
diff -r 6d87e1afdef3 -r a12eb794785c graphics/libfpx/distinfo
--- a/graphics/libfpx/distinfo  Wed Oct 04 16:40:05 2017 +0000
+++ b/graphics/libfpx/distinfo  Wed Oct 04 17:19:33 2017 +0000
@@ -1,6 +1,9 @@
-$NetBSD: distinfo,v 1.1 2017/08/04 08:24:24 nros Exp $
+$NetBSD: distinfo,v 1.2 2017/10/04 17:19:33 nros Exp $
 
 SHA1 (libfpx-1.3.1-9.tar.xz) = d3aba5f74134feb4c3be40c9a864ce28edf1a7f9
 RMD160 (libfpx-1.3.1-9.tar.xz) = 7ea9bff48fa15dc243e17c4f1a4a59c1b45c09dc
 SHA512 (libfpx-1.3.1-9.tar.xz) = 218e7e0cd0512a1620f219802bc694591c90d494940fc7492076dee56c3707e50f5af50eb3dff9d562a5c0431e05ec9e696e6bdd8735b5b26db0cd3f929ad5f8
 Size (libfpx-1.3.1-9.tar.xz) = 1906072 bytes
+SHA1 (patch-fpx_f__fpxvw.cpp) = b2c91920029b66e74154a9f6ccd9dc494df927be
+SHA1 (patch-oless_dir.cxx) = 23218d4dfcf3c57db6234f4ac0c972bf13267290
+SHA1 (patch-oless_docfile.cxx) = 58f45c75a71d3cfcd7946a366d3d4e191fc2f769
diff -r 6d87e1afdef3 -r a12eb794785c graphics/libfpx/patches/patch-fpx_f__fpxvw.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libfpx/patches/patch-fpx_f__fpxvw.cpp    Wed Oct 04 17:19:33 2017 +0000
@@ -0,0 +1,76 @@
+$NetBSD: patch-fpx_f__fpxvw.cpp,v 1.1 2017/10/04 17:19:33 nros Exp $
+Fix CVE-2017-12921
+--- fpx/f_fpxvw.cpp.orig       2017-10-04 10:25:20.000000000 +0000
++++ fpx/f_fpxvw.cpp
+@@ -775,27 +775,67 @@ Boolean PFileFlashPixView::WriteCompObj(
+ // Get property in summary info property set
+ Boolean PFileFlashPixView::GetSummaryInfoProperty (DWORD pID, OLEProperty ** res)
+ {
+-  return summaryInfoPropertySet->GetProperty(pID, res);
++  Boolean ok = TRUE;
++
++  // If absent, there is an error
++  if (summaryInfoPropertySet == NULL)
++    ok = FALSE;
++
++  // Get the property
++  if (ok)
++    ok = summaryInfoPropertySet->GetProperty(pID, res);
++
++  return ok;
+ }
+ 
+ // Set property in summary info property set
+ Boolean PFileFlashPixView::SetSummaryInfoProperty (DWORD pID, DWORD propType, OLEProperty ** res)
+ {
+-  return summaryInfoPropertySet->NewProperty(pID, propType, res);
++  Boolean ok = TRUE;
++
++  // If absent, there is an error
++  if (summaryInfoPropertySet == NULL)
++    ok = FALSE;
++
++  // Get the property
++  if (ok)
++    ok = summaryInfoPropertySet->NewProperty(pID, propType, res);
++
++  return ok;
+ }
+ 
+ 
+ // Get property in global info property set
+ Boolean PFileFlashPixView::GetGlobalInfoProperty (DWORD pID, OLEProperty ** res)
+ {
+-  return globalInfoPropertySet->GetProperty(pID, res);
++  Boolean ok = TRUE;
++
++  // If absent, there is an error
++  if (globalInfoPropertySet == NULL)
++    ok = FALSE;
++
++  // Get the property
++  if (ok)
++    ok = globalInfoPropertySet->GetProperty(pID, res);
++
++  return ok;
+ }
+ 
+ 
+ // Set property in global info property set
+ Boolean PFileFlashPixView::SetGlobalInfoProperty (DWORD pID, DWORD propType, OLEProperty ** res)
+ {
+-  return globalInfoPropertySet->NewProperty(pID, propType, res);
++  Boolean ok = TRUE;
++
++  // If absent, there is an error
++  if (globalInfoPropertySet == NULL)
++    ok = FALSE;
++
++  // Get the property
++  if (ok)
++    ok = globalInfoPropertySet->NewProperty(pID, propType, res);
++
++  return ok;
+ }
+ 
+ 
diff -r 6d87e1afdef3 -r a12eb794785c graphics/libfpx/patches/patch-oless_dir.cxx
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libfpx/patches/patch-oless_dir.cxx       Wed Oct 04 17:19:33 2017 +0000
@@ -0,0 +1,13 @@
+$NetBSD: patch-oless_dir.cxx,v 1.1 2017/10/04 17:19:33 nros Exp $
+possible fix for CVE-2017-12920
+--- oless/dir.cxx.orig 2017-10-03 18:36:32.000000000 +0000
++++ oless/dir.cxx
+@@ -1100,6 +1100,8 @@ SCODE CDirectory::GetDirEntry(
+     DIRINDEX id = sid / _cdeEntries;
+ 
+     msfChk(_dv.GetTable(id, dwFlags, &pds));
++    if (ppde == NULL)
++        msfErr(Err, ERROR_INVALID_ADDRESS);
+ 
+     *ppde = pds->GetEntry((DIROFFSET)(sid % _cdeEntries));
+ 
diff -r 6d87e1afdef3 -r a12eb794785c graphics/libfpx/patches/patch-oless_docfile.cxx
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libfpx/patches/patch-oless_docfile.cxx   Wed Oct 04 17:19:33 2017 +0000
@@ -0,0 +1,27 @@
+$NetBSD: patch-oless_docfile.cxx,v 1.1 2017/10/04 17:19:33 nros Exp $
+fix CVE-2017-12925
+--- oless/docfile.cxx.orig     2017-10-03 18:06:20.000000000 +0000
++++ oless/docfile.cxx
+@@ -49,6 +49,7 @@ SCODE DfFromLB(ILockBytes *plst,
+     SCODE sc, scConv;
+     CRootExposedDocFile *prpdf;
+     CDFBasis *pdfb=NULL;
++    bool prpdf_Release_run = false;
+ 
+     UNREFERENCED_PARM(pcid);
+     olDebugOut((DEB_ITRACE, "In  DfFromLB(%p, %X, %lX, %p, %p, %p)\n",
+@@ -71,9 +72,12 @@ SCODE DfFromLB(ILockBytes *plst,
+     return scConv;
+ 
+ EH_ppcInit:
+-    prpdf->Release();
++    prpdf->Release(); //this also deletes pdfb
++    prpdf_Release_run = true;
+ EH_pdfb:
+-    delete pdfb;
++    if (!prpdf_Release_run) {
++        delete pdfb;
++    } 
+ EH_Err:
+     return sc;
+ }



Home | Main Index | Thread Index | Old Index