pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/misc/openoffice2 Fix CVE-2007-{4770,4771} (sync with u...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/77059176de48
branches:  trunk
changeset: 540006:77059176de48
user:      hira <hira%pkgsrc.org@localhost>
date:      Fri Mar 21 09:20:55 2008 +0000

description:
Fix CVE-2007-{4770,4771} (sync with upstream by patch-db).
Bump PKGREVISION.  Pointed out by drochner@ in private e-mail.

diffstat:

 misc/openoffice2/Makefile         |    4 +-
 misc/openoffice2/distinfo         |    3 +-
 misc/openoffice2/patches/patch-db |  948 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 952 insertions(+), 3 deletions(-)

diffs (truncated from 980 to 300 lines):

diff -r 7446116abd2a -r 77059176de48 misc/openoffice2/Makefile
--- a/misc/openoffice2/Makefile Fri Mar 21 08:18:17 2008 +0000
+++ b/misc/openoffice2/Makefile Fri Mar 21 09:20:55 2008 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.39 2008/03/09 12:57:27 joerg Exp $
+# $NetBSD: Makefile,v 1.40 2008/03/21 09:20:55 hira Exp $
 #
 
 OO_VER=                        2.3.1
-PKGREVISION=           4
+PKGREVISION=           5
 DISTNAME=              openoffice-${OO_VER}
 PKGNAME=               openoffice2-${OO_VER}
 CATEGORIES=            misc
diff -r 7446116abd2a -r 77059176de48 misc/openoffice2/distinfo
--- a/misc/openoffice2/distinfo Fri Mar 21 08:18:17 2008 +0000
+++ b/misc/openoffice2/distinfo Fri Mar 21 09:20:55 2008 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.34 2008/02/06 16:41:07 hira Exp $
+$NetBSD: distinfo,v 1.35 2008/03/21 09:20:56 hira Exp $
 
 SHA1 (openoffice-2.3.1/OOo_2.3.1_src_binfilter.tar.bz2) = 0643c52da3850a164928342e7651897b7a76ca1f
 RMD160 (openoffice-2.3.1/OOo_2.3.1_src_binfilter.tar.bz2) = 497aec1de49ea941ab8305331a9fc9e8e04a5162
@@ -68,3 +68,4 @@
 SHA1 (patch-cy) = 8d47bcf1da6f351f4f0cbf6a8355903094b0baee
 SHA1 (patch-cz) = e9850759fccff68914b104f4075e79c61b1010eb
 SHA1 (patch-da) = c2c9332dcf22d2d201215813ac9fc7e7ac401c6d
+SHA1 (patch-db) = 2760f1dd5a19afb7e329796318beedfc6972f039
diff -r 7446116abd2a -r 77059176de48 misc/openoffice2/patches/patch-db
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/openoffice2/patches/patch-db Fri Mar 21 09:20:55 2008 +0000
@@ -0,0 +1,948 @@
+$NetBSD: patch-db,v 1.1 2008/03/21 09:20:56 hira Exp $
+
+Fix CVE-2007-4770 and CVE-2007-4771.
+
+--- icu/icu-3.6.patch.orig     2007-10-25 23:01:33.000000000 +0900
++++ icu/icu-3.6.patch  2008-03-21 17:38:36.000000000 +0900
+@@ -1,5 +1,5 @@
+ *** misc/icu/source/common/putil.c    Mon Jul 31 20:14:28 2006
+---- misc/build/icu/source/common/putil.c      Tue Sep 18 19:30:30 2007
++--- misc/build/icu/source/common/putil.c      Mon Jan 28 21:31:50 2008
+ ***************
+ *** 48,54 ****
+   #endif
+@@ -19,7 +19,7 @@
+   #endif
+   
+ *** misc/icu/source/common/unicode/pwin32.h   Tue Aug 29 23:34:38 2006
+---- misc/build/icu/source/common/unicode/pwin32.h     Tue Sep 18 19:30:30 2007
++--- misc/build/icu/source/common/unicode/pwin32.h     Mon Jan 28 21:31:50 2008
+ ***************
+ *** 266,273 ****
+ --- 266,278 ----
+@@ -37,10 +37,10 @@
+   /*===========================================================================*/
+   /* Code alignment and C function inlining                                    */
+ *** misc/icu/source/common/unicode/rbbi.h     Fri Aug 11 07:46:40 2006
+---- misc/build/icu/source/common/unicode/rbbi.h       Tue Sep 18 19:35:01 2007
++--- misc/build/icu/source/common/unicode/rbbi.h       Mon Jan 28 21:31:50 2008
+ ***************
+-*** 611,616 ****
+---- 611,617 ----
++*** 611,622 ****
++--- 611,624 ----
+       virtual int32_t getBreakType() const;
+   #endif
+   
+@@ -48,9 +48,6 @@
+       /**
+         * Set the type of the break iterator.
+         * @internal
+-***************
+-*** 617,622 ****
+---- 618,624 ----
+         */
+       virtual void setBreakType(int32_t type);
+   
+@@ -59,7 +56,7 @@
+         * Common initialization function, used by constructors and bufferClone.
+         *   (Also used by DictionaryBasedBreakIterator::createBufferClone().)
+ *** misc/icu/source/common/unicode/umachine.h Tue Feb  7 02:54:16 2006
+---- misc/build/icu/source/common/unicode/umachine.h   Tue Sep 18 19:30:30 2007
++--- misc/build/icu/source/common/unicode/umachine.h   Mon Jan 28 21:31:50 2008
+ ***************
+ *** 322,328 ****
+    */
+@@ -78,7 +75,7 @@
+   #else
+       typedef uint16_t UChar;
+ *** misc/icu/source/common/unicode/unistr.h   Tue Aug 29 23:52:50 2006
+---- misc/build/icu/source/common/unicode/unistr.h     Tue Sep 18 19:30:31 2007
++--- misc/build/icu/source/common/unicode/unistr.h     Mon Jan 28 21:31:50 2008
+ ***************
+ *** 3280,3286 ****
+   //========================================
+@@ -182,7 +179,7 @@
+   }
+   
+ *** misc/icu/source/common/unicode/ustring.h  Tue Aug 29 23:52:50 2006
+---- misc/build/icu/source/common/unicode/ustring.h    Tue Sep 18 19:30:30 2007
++--- misc/build/icu/source/common/unicode/ustring.h    Mon Jan 28 21:31:50 2008
+ ***************
+ *** 918,924 ****
+    * </pre>
+@@ -200,8 +197,180 @@
+   #   define U_STRING_DECL(var, cs, length) static const wchar_t var[(length)+1]={ L ## cs }
+       /**@stable ICU 2.0 */
+   #   define U_STRING_INIT(var, cs, length)
++*** misc/icu/source/common/uvectr32.cpp       Wed Aug 27 03:01:30 2003
++--- misc/build/icu/source/common/uvectr32.cpp Mon Jan 28 21:31:51 2008
++***************
++*** 1,6 ****
++  /*
++  ******************************************************************************
++! * Copyright (C) 1999-2003, International Business Machines Corporation and   *
++  * others. All Rights Reserved.                                               *
++  ******************************************************************************
++  *   Date        Name        Description
++--- 1,6 ----
++  /*
++  ******************************************************************************
++! * Copyright (C) 1999-2008, International Business Machines Corporation and   *
++  * others. All Rights Reserved.                                               *
++  ******************************************************************************
++  *   Date        Name        Description
++***************
++*** 26,31 ****
++--- 26,32 ----
++  UVector32::UVector32(UErrorCode &status) :
++      count(0),
++      capacity(0),
+++     maxCapacity(0),
++      elements(NULL)
++  {
++      _init(DEFUALT_CAPACITY, status);
++***************
++*** 34,39 ****
++--- 35,41 ----
++  UVector32::UVector32(int32_t initialCapacity, UErrorCode &status) :
++      count(0),
++      capacity(0),
+++     maxCapacity(0),
++      elements(0)
++  {
++      _init(initialCapacity, status);
++***************
++*** 46,51 ****
++--- 48,56 ----
++      if (initialCapacity < 1) {
++          initialCapacity = DEFUALT_CAPACITY;
++      }
+++     if (maxCapacity>0 && maxCapacity<initialCapacity) {
+++         initialCapacity = maxCapacity;
+++     }
++      elements = (int32_t *)uprv_malloc(sizeof(int32_t)*initialCapacity);
++      if (elements == 0) {
++          status = U_MEMORY_ALLOCATION_ERROR;
++***************
++*** 189,209 ****
++  UBool UVector32::expandCapacity(int32_t minimumCapacity, UErrorCode &status) {
++      if (capacity >= minimumCapacity) {
++          return TRUE;
++!     } else {
++!         int32_t newCap = capacity * 2;
++!         if (newCap < minimumCapacity) {
++!             newCap = minimumCapacity;
++!         }
++!         int32_t* newElems = (int32_t *)uprv_malloc(sizeof(int32_t)*newCap);
++!         if (newElems == 0) {
++!             status = U_MEMORY_ALLOCATION_ERROR;
++!             return FALSE;
++!         }
++!         uprv_memcpy(newElems, elements, sizeof(elements[0]) * count);
++!         uprv_free(elements);
++!         elements = newElems;
++!         capacity = newCap;
++!         return TRUE;
++      }
++  }
++  
++--- 194,228 ----
++  UBool UVector32::expandCapacity(int32_t minimumCapacity, UErrorCode &status) {
++      if (capacity >= minimumCapacity) {
++          return TRUE;
++!     }
++!     if (maxCapacity>0 && minimumCapacity>maxCapacity) {
++!         status = U_BUFFER_OVERFLOW_ERROR;
++!         return FALSE;
++!     }
++!     int32_t newCap = capacity * 2;
++!     if (newCap < minimumCapacity) {
++!         newCap = minimumCapacity;
++!     }
++!     if (maxCapacity > 0 && newCap > maxCapacity) {
++!         newCap = maxCapacity;
++!     }
++!     int32_t* newElems = (int32_t *)uprv_malloc(sizeof(int32_t)*newCap);
++!     if (newElems == 0) {
++!         status = U_MEMORY_ALLOCATION_ERROR;
++!         return FALSE;
++!     }
++!     uprv_memcpy(newElems, elements, sizeof(elements[0]) * count);
++!     uprv_free(elements);
++!     elements = newElems;
++!     capacity = newCap;
++!     return TRUE;
++! }
++! 
++! void UVector32::setMaxCapacity(int32_t limit) {
++!     U_ASSERT(limit >= 0);
++!     maxCapacity = limit;
++!     if (maxCapacity < 0) {
++!         maxCapacity = 0;
++      }
++  }
++  
++*** misc/icu/source/common/uvectr32.h Wed Jan 18 04:52:04 2006
++--- misc/build/icu/source/common/uvectr32.h   Mon Jan 28 21:31:51 2008
++***************
++*** 1,6 ****
++  /*
++  **********************************************************************
++! *   Copyright (C) 1999-2006, International Business Machines
++  *   Corporation and others.  All Rights Reserved.
++  **********************************************************************
++  */
++--- 1,6 ----
++  /*
++  **********************************************************************
++! *   Copyright (C) 1999-2008, International Business Machines
++  *   Corporation and others.  All Rights Reserved.
++  **********************************************************************
++  */
++***************
++*** 61,66 ****
++--- 61,68 ----
++      int32_t   count;
++  
++      int32_t   capacity;
+++     
+++     int32_t   maxCapacity;   // Limit beyond which capacity is not permitted to grow.
++  
++      int32_t*  elements;
++  
++***************
++*** 162,167 ****
++--- 164,177 ----
++      int32_t *getBuffer() const;
++  
++      /**
+++      * Set the maximum allowed buffer capacity for this vector/stack.
+++      * Default with no limit set is unlimited, go until malloc() fails.
+++      * A Limit of zero means unlimited capacity.
+++      * Units are vector elements (32 bits each), not bytes.
+++      */
+++     void setMaxCapacity(int32_t limit);
+++ 
+++     /**
++       * ICU "poor man's RTTI", returns a UClassID for this class.
++       */
++      static UClassID U_EXPORT2 getStaticClassID();
++***************
++*** 221,227 ****
++  }
++  
++  inline int32_t *UVector32::reserveBlock(int32_t size, UErrorCode &status) {
++!     ensureCapacity(count+size, status);
++      int32_t  *rp = elements+count;
++      count += size;
++      return rp;
++--- 231,239 ----
++  }
++  
++  inline int32_t *UVector32::reserveBlock(int32_t size, UErrorCode &status) {
++!     if (ensureCapacity(count+size, status) == FALSE) {
++!         return NULL;
++!     }
++      int32_t  *rp = elements+count;
++      count += size;
++      return rp;
+ *** misc/icu/source/config/mh-darwin  Wed Feb  1 08:52:42 2006
+---- misc/build/icu/source/config/mh-darwin    Tue Sep 18 19:30:30 2007
++--- misc/build/icu/source/config/mh-darwin    Mon Jan 28 21:31:51 2008
+ ***************
+ *** 25,31 ****
+   SHLIB.cc=   $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS)
+@@ -220,7 +389,7 @@
+   ## Compiler switch to embed a runtime search path
+   LD_RPATH=
+ *** misc/icu/source/config/mh-irix    Thu Mar 23 19:51:52 2006
+---- misc/build/icu/source/config/mh-irix      Tue Sep 18 19:30:31 2007
++--- misc/build/icu/source/config/mh-irix      Mon Jan 28 21:31:51 2008
+ ***************
+ *** 23,28 ****
+ --- 23,31 ----
+@@ -234,25 +403,26 @@
+   THREADSCPPFLAGS = -D_REENTRANT -D_PTHREADS
+   LIBCPPFLAGS =
+ *** misc/icu/source/config/mh-linux   Thu Mar 23 19:51:52 2006



Home | Main Index | Thread Index | Old Index