summary refs log tree commit diff
path: root/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-02-26 00:16:07 -0500
committerMark H Weaver <mhw@netris.org>2015-02-26 00:39:31 -0500
commit8830740643397d8d38e018c728ed62d0bcb4c310 (patch)
tree5f8b08f0bdd0f5b5041e8b4dbd0e788b69c978ea /gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch
parent5be2f8844dba4aab0c134f61a830acb16b56d2c5 (diff)
downloadguix-8830740643397d8d38e018c728ed62d0bcb4c310.tar.gz
gnu: icecat: Apply fixes for CVE-2015-{0822,0827,0831,0836}.
* gnu/packages/patches/icecat-CVE-2015-0822.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch,
  gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch,
  gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch,
  gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch,
  gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add patches.
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch')
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch
new file mode 100644
index 0000000000..1ff68f4b4c
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch
@@ -0,0 +1,35 @@
+From 5ff75fbe51d5760a96b4e614617c9cbf35f1fbaa Mon Sep 17 00:00:00 2001
+From: Markus Stange <mstange@themasta.com>
+Date: Mon, 5 Jan 2015 18:40:27 +0100
+Subject: [PATCH] Bug 1117304 - Make sure the tile filter doesn't call CopyRect
+ on surfaces with different formats. r=Bas, a=sledru
+
+---
+ gfx/2d/FilterNodeSoftware.cpp | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp
+index 396d0da..10d92c6 100644
+--- a/gfx/2d/FilterNodeSoftware.cpp
++++ b/gfx/2d/FilterNodeSoftware.cpp
+@@ -1568,7 +1568,16 @@ FilterNodeTileSoftware::Render(const IntRect& aRect)
+           return nullptr;
+         }
+       }
+-      MOZ_ASSERT(input->GetFormat() == target->GetFormat(), "different surface formats from the same input?");
++
++      if (input->GetFormat() != target->GetFormat()) {
++        // Different rectangles of the input can have different formats. If
++        // that happens, just convert everything to B8G8R8A8.
++        target = FilterProcessing::ConvertToB8G8R8A8(target);
++        input = FilterProcessing::ConvertToB8G8R8A8(input);
++        if (MOZ2D_WARN_IF(!target) || MOZ2D_WARN_IF(!input)) {
++          return nullptr;
++        }
++      }
+ 
+       CopyRect(input, target, srcRect - srcRect.TopLeft(), destRect.TopLeft() - aRect.TopLeft());
+     }
+-- 
+2.2.1
+