~ubuntu-branches/ubuntu/lucid/webkit/lucid-updates

« back to all changes in this revision

Viewing changes to debian/patches/02-pool-fixup-and-sparc-support.patch

  • Committer: Bazaar Package Importer
  • Author(s): Marc Deslauriers
  • Date: 2010-10-13 13:39:02 UTC
  • mfrom: (1.6.1 upstream) (4.4.9 maverick)
  • Revision ID: james.westby@ubuntu.com-20101013133902-ytzn2sqa7y41hosl
Tags: 1.2.5-0ubuntu0.10.04.1
* SECURITY UPDATE: Rebuilt new stable release 1.2.5 for lucid to fix
  multiple security issues. (LP: #660075)
   - CVE-2010-1386, CVE-2010-1392, CVE-2010-1405, CVE-2010-1407
   - CVE-2010-1412, CVE-2010-1416, CVE-2010-1417, CVE-2010-1418
   - CVE-2010-1419, CVE-2010-1421, CVE-2010-1422, CVE-2010-1501
   - CVE-2010-1664, CVE-2010-1665, CVE-2010-1758, CVE-2010-1759
   - CVE-2010-1760, CVE-2010-1761, CVE-2010-1762, CVE-2010-1767
   - CVE-2010-1770, CVE-2010-1771, CVE-2010-1772, CVE-2010-1773
   - CVE-2010-1774, CVE-2010-1780, CVE-2010-1781, CVE-2010-1782
   - CVE-2010-1783, CVE-2010-1784, CVE-2010-1785, CVE-2010-1786
   - CVE-2010-1787, CVE-2010-1788, CVE-2010-1790, CVE-2010-1792
   - CVE-2010-1793, CVE-2010-1807, CVE-2010-1812, CVE-2010-1814
   - CVE-2010-1815, CVE-2010-2264, CVE-2010-2647, CVE-2010-2648
   - CVE-2010-3113, CVE-2010-3114, CVE-2010-3115, CVE-2010-3116
   - CVE-2010-3248, CVE-2010-3257, CVE-2010-3259
* debian/patches/ubuntu-gir-version.patch: removed for lucid
* debian/control: add gir-repository-dev back to build-depends for lucid

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Description: Fixup pool and add sparc support
 
2
--- webkit-1.2.1.orig/JavaScriptCore/wtf/ListHashSet.h
 
3
+++ webkit-1.2.1/JavaScriptCore/wtf/ListHashSet.h
 
4
@@ -127,7 +127,7 @@ namespace WTF {
 
5
             : m_freeList(pool())
 
6
             , m_isDoneWithInitialFreeList(false)
 
7
         { 
 
8
-            memset(m_pool.pool, 0, sizeof(m_pool.pool));
 
9
+            memset(m_pool, 0, sizeof(m_pool));
 
10
         }
 
11
 
 
12
         Node* allocate()
 
13
@@ -171,7 +171,7 @@ namespace WTF {
 
14
         }
 
15
 
 
16
     private:
 
17
-        Node* pool() { return reinterpret_cast<Node*>(m_pool.pool); }
 
18
+        Node* pool() { return reinterpret_cast<Node*>(m_pool); }
 
19
         Node* pastPool() { return pool() + m_poolSize; }
 
20
 
 
21
         bool inPool(Node* node)
 
22
@@ -182,10 +182,7 @@ namespace WTF {
 
23
         Node* m_freeList;
 
24
         bool m_isDoneWithInitialFreeList;
 
25
         static const size_t m_poolSize = 256;
 
26
-        union {
 
27
-            char pool[sizeof(Node) * m_poolSize];
 
28
-            double forAlignment;
 
29
-        } m_pool;
 
30
+        uint32_t m_pool[(sizeof(Node) * m_poolSize + sizeof(uint32_t) - 1) / sizeof(uint32_t)];
 
31
     };
 
32
 
 
33
     template<typename ValueArg> struct ListHashSetNode {
 
34
--- webkit-1.2.1.orig/WebCore/platform/text/AtomicString.cpp
 
35
+++ webkit-1.2.1/WebCore/platform/text/AtomicString.cpp
 
36
@@ -103,9 +103,9 @@ static inline bool equal(StringImpl* str
 
37
     if (string->length() != length)
 
38
         return false;
 
39
 
 
40
+#if CPU(ARM) || CPU(SPARC) || CPU(SH4)
 
41
     // FIXME: perhaps we should have a more abstract macro that indicates when
 
42
     // going 4 bytes at a time is unsafe
 
43
-#if CPU(ARM) || CPU(SH4)
 
44
     const UChar* stringCharacters = string->characters();
 
45
     for (unsigned i = 0; i != length; ++i) {
 
46
         if (*stringCharacters++ != *characters++)
 
47
--- webkit-1.2.1.orig/WebCore/platform/text/StringHash.h
 
48
+++ webkit-1.2.1/WebCore/platform/text/StringHash.h
 
49
@@ -54,13 +54,13 @@ namespace WebCore {
 
50
 
 
51
             // FIXME: perhaps we should have a more abstract macro that indicates when
 
52
             // going 4 bytes at a time is unsafe
 
53
-#if CPU(ARM) || CPU(SH4)
 
54
+#if CPU(ARM) || CPU(SPARC) || CPU(SH4)
 
55
             const UChar* aChars = a->characters();
 
56
             const UChar* bChars = b->characters();
 
57
-            for (unsigned i = 0; i != aLength; ++i) {
 
58
+            for (unsigned i = 0; i != aLength; ++i)
 
59
                 if (*aChars++ != *bChars++)
 
60
                     return false;
 
61
-            }
 
62
+
 
63
             return true;
 
64
 #else
 
65
             /* Do it 4-bytes-at-a-time on architectures where it's safe */