ODROID-U3 xorg-server debian package fork :
[deb_xorg-server.git] / debian / patches / CVE-2014-8xxx / 0004-dix-integer-overflow-in-RegionSizeof-CVE-2014-8092-3.patch
index 552bd8b79319da7c4b930c5d1345830efb18cddf..098ae8616c7df6dc2f8bc7b4fc1a857d7c4c5917 100644 (file)
@@ -19,11 +19,9 @@ Reviewed-by: Julien Cristau <jcristau@debian.org>
  include/regionstr.h |   10 +++++++---
  2 files changed, 20 insertions(+), 10 deletions(-)
 
-Index: xorg-server-1.15.1/dix/region.c
-===================================================================
---- xorg-server-1.15.1.orig/dix/region.c       2014-12-05 08:24:42.034665485 -0500
-+++ xorg-server-1.15.1/dix/region.c    2014-12-05 08:24:42.030665458 -0500
-@@ -169,7 +169,6 @@
+--- a/dix/region.c
++++ b/dix/region.c
+@@ -169,7 +169,6 @@ Equipment Corporation.
          ((r1)->y1 <= (r2)->y1) && \
          ((r1)->y2 >= (r2)->y2) )
  
@@ -31,7 +29,7 @@ Index: xorg-server-1.15.1/dix/region.c
  #define xfreeData(reg) if ((reg)->data && (reg)->data->size) free((reg)->data)
  
  #define RECTALLOC_BAIL(pReg,n,bail) \
-@@ -205,8 +204,9 @@
+@@ -205,8 +204,9 @@ if (!(pReg)->data || (((pReg)->data->num
  #define DOWNSIZE(reg,numRects)                                                 \
  if (((numRects) < ((reg)->data->size >> 1)) && ((reg)->data->size > 50)) \
  {                                                                      \
@@ -43,7 +41,7 @@ Index: xorg-server-1.15.1/dix/region.c
      if (NewData)                                                       \
      {                                                                  \
        NewData->size = (numRects);                                      \
-@@ -345,17 +345,20 @@
+@@ -345,17 +345,20 @@ Bool
  RegionRectAlloc(RegionPtr pRgn, int n)
  {
      RegDataPtr data;
@@ -66,7 +64,7 @@ Index: xorg-server-1.15.1/dix/region.c
          if (!pRgn->data)
              return RegionBreak(pRgn);
          pRgn->data->numRects = 0;
-@@ -367,7 +370,8 @@
+@@ -367,7 +370,8 @@ RegionRectAlloc(RegionPtr pRgn, int n)
                  n = 250;
          }
          n += pRgn->data->numRects;
@@ -76,7 +74,7 @@ Index: xorg-server-1.15.1/dix/region.c
          if (!data)
              return RegionBreak(pRgn);
          pRgn->data = data;
-@@ -1312,6 +1316,7 @@
+@@ -1312,6 +1316,7 @@ RegionFromRects(int nrects, xRectangle *
  {
  
      RegionPtr pRgn;
@@ -84,7 +82,7 @@ Index: xorg-server-1.15.1/dix/region.c
      RegDataPtr pData;
      BoxPtr pBox;
      int i;
-@@ -1338,7 +1343,8 @@
+@@ -1338,7 +1343,8 @@ RegionFromRects(int nrects, xRectangle *
          }
          return pRgn;
      }
@@ -94,11 +92,9 @@ Index: xorg-server-1.15.1/dix/region.c
      if (!pData) {
          RegionBreak(pRgn);
          return pRgn;
-Index: xorg-server-1.15.1/include/regionstr.h
-===================================================================
---- xorg-server-1.15.1.orig/include/regionstr.h        2014-12-05 08:24:42.034665485 -0500
-+++ xorg-server-1.15.1/include/regionstr.h     2014-12-05 08:24:42.030665458 -0500
-@@ -127,7 +127,10 @@
+--- a/include/regionstr.h
++++ b/include/regionstr.h
+@@ -127,7 +127,10 @@ RegionEnd(RegionPtr reg)
  static inline size_t
  RegionSizeof(size_t n)
  {
@@ -110,7 +106,7 @@ Index: xorg-server-1.15.1/include/regionstr.h
  }
  
  static inline void
-@@ -138,9 +141,10 @@
+@@ -138,9 +141,10 @@ RegionInit(RegionPtr _pReg, BoxPtr _rect
          (_pReg)->data = (RegDataPtr) NULL;
      }
      else {