<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>145842</bug_id>
          
          <creation_ts>2015-06-10 07:27:57 -0700</creation_ts>
          <short_desc>Network process crashes decoding invalid cache entry on 32bit system</short_desc>
          <delta_ts>2015-06-11 11:23:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1101015</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-06-10 07:27:57 -0700</bug_when>
    <thetext>Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x06000000
Triggered by Thread:  13

Thread 13 name:  Dispatch queue: com.apple.libdispatch-io.opq
Thread 13 Crashed:
0   JavaScriptCore                	0x24db0ef4 WTF::StringImpl::createUninitialized(unsigned int, unsigned char*&amp;) + 36 (StringImpl.h:188)
1   WebKit                        	0x286f1ba8 WebKit::NetworkCache::Coder&lt;WTF::String&gt;::decode(WebKit::NetworkCache::Decoder&amp;, WTF::String&amp;) + 76 (WTFString.h:364)
2   WebKit                        	0x286f4bbc WebKit::NetworkCache::Key::decode(WebKit::NetworkCache::Decoder&amp;, WebKit::NetworkCache::Key&amp;) + 48 (NetworkCacheDecoder.h:76)
3   WebKit                        	0x286f951e std::__1::__function::__func&lt;WebKit::NetworkCache::decodeRecordMetaData(WebKit::NetworkCache::RecordMetaData&amp;, WebKit::NetworkCache::Data const&amp;)::$_13, std::__1::allocator&lt;WebKit::NetworkCache::decodeRecordMetaData(WebKit::NetworkCache::RecordMetaData&amp;, WebKit::NetworkCache::Data const&amp;)::$_13&gt;, bool (unsigned char const*, unsigned long)&gt;::operator()(unsigned char const*&amp;&amp;, unsigned long&amp;&amp;) + 42 (NetworkCacheCoder.h:45)
4   WebKit                        	0x286f1edc ___ZNK6WebKit12NetworkCache4Data5applyEOKNSt3__18functionIFbPKhmEEE_block_invoke + 24 (functional:1793)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101023</commentid>
    <comment_count>1</comment_count>
      <attachid>254653</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-06-10 07:45:20 -0700</bug_when>
    <thetext>Created attachment 254653
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101083</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-06-10 12:11:39 -0700</bug_when>
    <thetext>rdar://problem/21228334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101084</commentid>
    <comment_count>3</comment_count>
      <attachid>254670</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-06-10 12:13:43 -0700</bug_when>
    <thetext>Created attachment 254670
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101107</commentid>
    <comment_count>4</comment_count>
      <attachid>254670</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-06-10 14:15:37 -0700</bug_when>
    <thetext>Comment on attachment 254670
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=254670&amp;action=review

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheDecoder.cpp:52
&gt; +    return currentOffset() + size &lt;= m_bufferSize;

Does not the following code fix the overflow issue regardless whether it runs on 32 or 64bit?

    return size &lt;= m_bufferEnd - m_bufferPosition;

Otherwise I would suggest changing the last statement to be:

   return size &lt;= m_bufferSize - currentOffset();

Subtraction is always safer when dealing with large numbers but they have to have the same sign.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101118</commentid>
    <comment_count>5</comment_count>
      <attachid>254678</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-06-10 14:52:50 -0700</bug_when>
    <thetext>Created attachment 254678
patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101121</commentid>
    <comment_count>6</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-06-10 14:53:48 -0700</bug_when>
    <thetext>&gt;     return size &lt;= m_bufferEnd - m_bufferPosition;

Yeah, that&apos;s a better idea. Did that instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101335</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-06-11 11:23:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/185458</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254653</attachid>
            <date>2015-06-10 07:45:20 -0700</date>
            <delta_ts>2015-06-10 12:13:43 -0700</delta_ts>
            <desc>patch</desc>
            <filename>disk-cache-coder-32bit.patch</filename>
            <type>text/plain</type>
            <size>7208</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTQxNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDE1LTA2LTEwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrIHByb2Nlc3MgY3Jh
c2hlcyBkZWNvZGluZyBpbnZhbGlkIGNhY2hlIGVudHJ5IG9uIDMyYml0IHN5c3RlbQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1ODQyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWZ0ZXIgY2FjaGUgc2No
ZW1lIGNoYW5nZXMgd2UgbWF5IGVuZCB1cCBkZWNvZGluZyBpbnZhbGlkIGNhY2hlIGVudHJpZXMu
IFRoaXMgaXMgYnkgZGVzaWduLAorICAgICAgICB3ZSBzaG91bGQganVzdCBmYWlsIGRlY29kaW5n
IGFuZCBkZWxldGUgdGhlc2UgZW50cmllcy4KKworICAgICAgICBIb3dldmVyIERlY29kZXI6OmJ1
ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW4gdGVzdCBpbiBzb21lIGNhc2VzIHdvdWxkIGFsbG93
IGNvcnJ1cHRlZCBsYXJnZQorICAgICAgICBzaXplcyBkdWUgdG8gb3ZlcmZsb3cgaW4gMzJiaXQg
cG9pbnRlciBtYXRoIGFuZCB3ZSB3b3VsZCBjcmFzaCB3aGVuIGFsbG9jYXRpbmcgYSBzdHJpbmcu
CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNvZGVyPENTdHJpbmc+OjpkZWNvZGUp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmRlY29kZVN0cmluZ1RleHQpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNvZGVyPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5m
bz46OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q29kZXI8TUQ1OjpE
aWdlc3Q+OjplbmNvZGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZUNvZGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZURlY29kZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkRlY29kZXI6OkRl
Y29kZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkRlY29kZXI6OmJ1ZmZlcklz
TGFyZ2VFbm91Z2hUb0NvbnRhaW4pOgorCisgICAgICAgICAgICBDb21wdXRlIHVzaW5nIHNpemVf
dCBpbnN0ZWFkIG9mIHBvaW50ZXJzIHRvIHByb3RlY3QgYWdhaW5zdCBvdmVyZmxvdyB3aXRoIDMy
Yml0IHBvaW50ZXJzLgorCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6
ZGVjb2RlRml4ZWRMZW5ndGhEYXRhKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVEZWNvZGVyLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVj
b2Rlcjo6YnVmZmVyU2l6ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rl
cjo6Y3VycmVudE9mZnNldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rl
cjo6bGVuZ3RoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpEZWNv
ZGVyOjppc0ludmFsaWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
OkRlY29kZXI6Om1hcmtJbnZhbGlkKTogRGVsZXRlZC4KKworICAgICAgICAgICAgUmVtb3ZlIHRo
ZXNlLCB0aGV5IGFyZSBub3QgcmVhbGx5IHVzZWQgb3IgbmVlZGVkLgorCiAyMDE1LTA2LTEwICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RL
XSBHZXQgcmlkIG9mIEdldEVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQgc3luYyBtZXNzYWdlCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2Rl
cnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZUNvZGVycy5jcHAJKHJldmlzaW9uIDE4NTQxMCkKKysrIFNvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc2LDEwICs3Niw4IEBAIGJvb2wgQ29kZXI8Q1N0cmluZz46OmRlY29kZShEZWNv
ZGVyJiBkZWMKICAgICB9CiAKICAgICAvLyBCZWZvcmUgYWxsb2NhdGluZyB0aGUgc3RyaW5nLCBt
YWtlIHN1cmUgdGhhdCB0aGUgZGVjb2RlciBidWZmZXIgaXMgYmlnIGVub3VnaC4KLSAgICBpZiAo
IWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbjxjaGFyPihsZW5ndGgpKSB7Ci0g
ICAgICAgIGRlY29kZXIubWFya0ludmFsaWQoKTsKKyAgICBpZiAoIWRlY29kZXIuYnVmZmVySXNM
YXJnZUVub3VnaFRvQ29udGFpbjxjaGFyPihsZW5ndGgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQogCiAgICAgY2hhciogYnVmZmVyOwogICAgIENTdHJpbmcgc3RyaW5nID0gQ1N0cmlu
Zzo6bmV3VW5pbml0aWFsaXplZChsZW5ndGgsIGJ1ZmZlcik7CkBAIC0xMTQsMTEgKzExMiw5IEBA
IHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogc3RhdGljIGlubGluZSBib29sIGRl
Y29kZVN0cmluZ1RleHQoRGVjb2RlciYgZGVjb2RlciwgdWludDMyX3QgbGVuZ3RoLCBTdHJpbmcm
IHJlc3VsdCkKIHsKICAgICAvLyBCZWZvcmUgYWxsb2NhdGluZyB0aGUgc3RyaW5nLCBtYWtlIHN1
cmUgdGhhdCB0aGUgZGVjb2RlciBidWZmZXIgaXMgYmlnIGVub3VnaC4KLSAgICBpZiAoIWRlY29k
ZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbjxDaGFyYWN0ZXJUeXBlPihsZW5ndGgpKSB7
Ci0gICAgICAgIGRlY29kZXIubWFya0ludmFsaWQoKTsKKyAgICBpZiAoIWRlY29kZXIuYnVmZmVy
SXNMYXJnZUVub3VnaFRvQ29udGFpbjxDaGFyYWN0ZXJUeXBlPihsZW5ndGgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIAorCiAgICAgQ2hhcmFjdGVyVHlwZSogYnVmZmVyOwog
ICAgIFN0cmluZyBzdHJpbmcgPSBTdHJpbmc6OmNyZWF0ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBi
dWZmZXIpOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnBy
ZXRfY2FzdDx1aW50OF90Kj4oYnVmZmVyKSwgbGVuZ3RoICogc2l6ZW9mKENoYXJhY3RlclR5cGUp
KSkKQEAgLTE2NywxMSArMTYzLDcgQEAgYm9vbCBDb2RlcjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8+OjpkZQogICAgIGlmICghZGVjb2Rlci5kZWNvZGVGaXhlZExlbmd0aERhdGEoZGF0YS5kYXRh
KCksIGRhdGEuc2l6ZSgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIElQQzo6QXJndW1l
bnREZWNvZGVyIGFyZ3VtZW50RGVjb2RlcihkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOwotICAg
IGlmICghYXJndW1lbnREZWNvZGVyLmRlY29kZShjZXJ0aWZpY2F0ZUluZm8pKSB7Ci0gICAgICAg
IGRlY29kZXIubWFya0ludmFsaWQoKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
ICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gYXJndW1lbnREZWNvZGVyLmRlY29kZShjZXJ0aWZp
Y2F0ZUluZm8pOwogfQogCiB2b2lkIENvZGVyPE1ENTo6RGlnZXN0Pjo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IE1ENTo6RGlnZXN0JiBkaWdlc3QpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMu
aAkocmV2aXNpb24gMTg1NDEwKQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlQ29kZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1MCwxMCArMTUwLDgg
QEAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaQogICAgICAgICAvLyBT
aW5jZSB3ZSBrbm93IHRoZSB0b3RhbCBzaXplIG9mIHRoZSBlbGVtZW50cywgd2UgY2FuIGFsbG9j
YXRlIHRoZSB2ZWN0b3IgaW4KICAgICAgICAgLy8gb25lIGZlbGwgc3dvb3AuIEJlZm9yZSBhbGxv
Y2F0aW5nIHdlIG11c3QgaG93ZXZlciBtYWtlIHN1cmUgdGhhdCB0aGUgZGVjb2RlciBidWZmZXIK
ICAgICAgICAgLy8gaXMgYmlnIGVub3VnaC4KLSAgICAgICAgaWYgKCFkZWNvZGVyLmJ1ZmZlcklz
TGFyZ2VFbm91Z2hUb0NvbnRhaW48VD4oc2l6ZSkpIHsKLSAgICAgICAgICAgIGRlY29kZXIubWFy
a0ludmFsaWQoKTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0Nv
bnRhaW48VD4oc2l6ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KIAog
ICAgICAgICBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHk+IHRlbXA7CiAgICAgICAgIHRlbXAucmVz
aXplKHNpemUpOwpAQCAtMTk0LDcgKzE5Miw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywg
dHlwZW5hbWUgTWFwcGUKIAogICAgICAgICAgICAgaWYgKCF0ZW1wSGFzaE1hcC5hZGQoa2V5LCB2
YWx1ZSkuaXNOZXdFbnRyeSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBoYXNoIG1hcCBhbHJl
YWR5IGhhcyB0aGUgc3BlY2lmaWVkIGtleSwgYmFpbC4KLSAgICAgICAgICAgICAgICBkZWNvZGVy
Lm1hcmtJbnZhbGlkKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CkBAIC0yMjgsNyArMjI1LDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5
QXJnLCB0eXBlbmFtZSBIYXNoQQogCiAgICAgICAgICAgICBpZiAoIXRlbXBIYXNoU2V0LmFkZChr
ZXkpLmlzTmV3RW50cnkpIHsKICAgICAgICAgICAgICAgICAvLyBUaGUgaGFzaCBtYXAgYWxyZWFk
eSBoYXMgdGhlIHNwZWNpZmllZCBrZXksIGJhaWwuCi0gICAgICAgICAgICAgICAgZGVjb2Rlci5t
YXJrSW52YWxpZCgpOwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlRGVjb2Rlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRGVjb2Rlci5jcHAJKHJldmlzaW9uIDE4NTQx
MCkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZURl
Y29kZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBOZXR3
b3JrQ2FjaGUgewogRGVjb2Rlcjo6RGVjb2Rlcihjb25zdCB1aW50OF90KiBidWZmZXIsIHNpemVf
dCBidWZmZXJTaXplKQogICAgIDogbV9idWZmZXIoYnVmZmVyKQogICAgICwgbV9idWZmZXJQb3Np
dGlvbihidWZmZXIpCi0gICAgLCBtX2J1ZmZlckVuZChidWZmZXIgKyBidWZmZXJTaXplKQorICAg
ICwgbV9idWZmZXJTaXplKGJ1ZmZlclNpemUpCiAgICAgLCBtX2NoZWNrc3VtKDApCiB7CiB9CkBA
IC00Nyw3ICs0Nyw5IEBAIERlY29kZXI6On5EZWNvZGVyKCkKIAogYm9vbCBEZWNvZGVyOjpidWZm
ZXJJc0xhcmdlRW5vdWdoVG9Db250YWluKHNpemVfdCBzaXplKSBjb25zdAogewotICAgIHJldHVy
biBtX2J1ZmZlclBvc2l0aW9uICsgc2l6ZSA8PSBtX2J1ZmZlckVuZDsKKyAgICBpZiAoc2l6ZSA+
IG1fYnVmZmVyU2l6ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBjdXJyZW50
T2Zmc2V0KCkgKyBzaXplIDw9IG1fYnVmZmVyU2l6ZTsKIH0KIAogYm9vbCBEZWNvZGVyOjpkZWNv
ZGVGaXhlZExlbmd0aERhdGEodWludDhfdCogZGF0YSwgc2l6ZV90IHNpemUpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEZWNvZGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlRGVjb2Rlci5oCShyZXZpc2lvbiAxODU0MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEZWNvZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5
LDEyICszOSw5IEBAIHB1YmxpYzoKICAgICBEZWNvZGVyKGNvbnN0IHVpbnQ4X3QqIGJ1ZmZlciwg
c2l6ZV90IGJ1ZmZlclNpemUpOwogICAgIHZpcnR1YWwgfkRlY29kZXIoKTsKIAotICAgIHNpemVf
dCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlckVuZCAtIG1fYnVmZmVyOyB9CisgICAg
c2l6ZV90IGJ1ZmZlclNpemUoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlclNpemU7IH0KICAgICBz
aXplX3QgY3VycmVudE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyUG9zaXRpb24gLSBt
X2J1ZmZlcjsgfQogCi0gICAgYm9vbCBpc0ludmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZl
clBvc2l0aW9uID4gbV9idWZmZXJFbmQ7IH0KLSAgICB2b2lkIG1hcmtJbnZhbGlkKCkgeyBtX2J1
ZmZlclBvc2l0aW9uID0gbV9idWZmZXJFbmQgKyAxOyB9Ci0KICAgICBib29sIHZlcmlmeUNoZWNr
c3VtKCk7CiAKICAgICBib29sIGRlY29kZUZpeGVkTGVuZ3RoRGF0YSh1aW50OF90Kiwgc2l6ZV90
KTsKQEAgLTkzLDcgKzkwLDcgQEAgcHJpdmF0ZToKIAogICAgIGNvbnN0IHVpbnQ4X3QqIG1fYnVm
ZmVyOwogICAgIGNvbnN0IHVpbnQ4X3QqIG1fYnVmZmVyUG9zaXRpb247Ci0gICAgY29uc3QgdWlu
dDhfdCogbV9idWZmZXJFbmQ7CisgICAgY29uc3Qgc2l6ZV90IG1fYnVmZmVyU2l6ZTsKIAogICAg
IHVuc2lnbmVkIG1fY2hlY2tzdW07CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254670</attachid>
            <date>2015-06-10 12:13:43 -0700</date>
            <delta_ts>2015-06-10 14:52:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>disk-cache-coder-32bit-2.patch</filename>
            <type>text/plain</type>
            <size>7241</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTQxNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA2LTEwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrIHByb2Nlc3MgY3Jh
c2hlcyBkZWNvZGluZyBpbnZhbGlkIGNhY2hlIGVudHJ5IG9uIDMyYml0IHN5c3RlbQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1ODQyCisgICAgICAg
IHJkYXI6Ly9wcm9ibGVtLzIxMjI4MzM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWZ0ZXIgY2FjaGUgc2NoZW1lIGNoYW5nZXMgd2UgbWF5IGVuZCB1
cCBkZWNvZGluZyBpbnZhbGlkIGNhY2hlIGVudHJpZXMuIFRoaXMgaXMgYnkgZGVzaWduLAorICAg
ICAgICB3ZSBzaG91bGQganVzdCBmYWlsIGRlY29kaW5nIGFuZCBkZWxldGUgdGhlc2UgZW50cmll
cy4KKworICAgICAgICBIb3dldmVyIERlY29kZXI6OmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRh
aW4gdGVzdCBpbiBzb21lIGNhc2VzIHdvdWxkIGFsbG93IGNvcnJ1cHRlZCBsYXJnZQorICAgICAg
ICBzaXplcyBkdWUgdG8gb3ZlcmZsb3cgaW4gMzJiaXQgcG9pbnRlciBtYXRoIGFuZCB3ZSB3b3Vs
ZCBjcmFzaCB3aGVuIGFsbG9jYXRpbmcgYSBzdHJpbmcuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OkNvZGVyPENTdHJpbmc+OjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OmRlY29kZVN0cmluZ1RleHQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OkNvZGVyPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbz46OmRlY29kZSk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q29kZXI8TUQ1OjpEaWdlc3Q+OjplbmNvZGUpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZURlY29kZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkRlY29kZXI6OkRlY29kZXIpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6OkRlY29kZXI6OmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW4pOgor
CisgICAgICAgICAgICBDb21wdXRlIHVzaW5nIHNpemVfdCBpbnN0ZWFkIG9mIHBvaW50ZXJzIHRv
IHByb3RlY3QgYWdhaW5zdCBvdmVyZmxvdyB3aXRoIDMyYml0IHBvaW50ZXJzLgorCisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6ZGVjb2RlRml4ZWRMZW5ndGhEYXRhKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEZWNvZGVyLmg6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6YnVmZmVyU2l6ZSk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6Y3VycmVudE9mZnNldCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6bGVuZ3RoKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpEZWNvZGVyOjppc0ludmFsaWQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkRlY29kZXI6Om1hcmtJbnZhbGlkKTog
RGVsZXRlZC4KKworICAgICAgICAgICAgUmVtb3ZlIHRoZXNlLCB0aGV5IGFyZSBub3QgcmVhbGx5
IHVzZWQgb3IgbmVlZGVkLgorCiAyMDE1LTA2LTEwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBHZXQgcmlkIG9mIEdldEVkaXRvckNv
bW1hbmRzRm9yS2V5RXZlbnQgc3luYyBtZXNzYWdlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5jcHAJ
KHJldmlzaW9uIDE4NTQxMCkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZUNvZGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDEwICs3Niw4IEBA
IGJvb2wgQ29kZXI8Q1N0cmluZz46OmRlY29kZShEZWNvZGVyJiBkZWMKICAgICB9CiAKICAgICAv
LyBCZWZvcmUgYWxsb2NhdGluZyB0aGUgc3RyaW5nLCBtYWtlIHN1cmUgdGhhdCB0aGUgZGVjb2Rl
ciBidWZmZXIgaXMgYmlnIGVub3VnaC4KLSAgICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVu
b3VnaFRvQ29udGFpbjxjaGFyPihsZW5ndGgpKSB7Ci0gICAgICAgIGRlY29kZXIubWFya0ludmFs
aWQoKTsKKyAgICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbjxjaGFy
PihsZW5ndGgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQogCiAgICAgY2hhciogYnVm
ZmVyOwogICAgIENTdHJpbmcgc3RyaW5nID0gQ1N0cmluZzo6bmV3VW5pbml0aWFsaXplZChsZW5n
dGgsIGJ1ZmZlcik7CkBAIC0xMTQsMTEgKzExMiw5IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFy
YWN0ZXJUeXBlPgogc3RhdGljIGlubGluZSBib29sIGRlY29kZVN0cmluZ1RleHQoRGVjb2RlciYg
ZGVjb2RlciwgdWludDMyX3QgbGVuZ3RoLCBTdHJpbmcmIHJlc3VsdCkKIHsKICAgICAvLyBCZWZv
cmUgYWxsb2NhdGluZyB0aGUgc3RyaW5nLCBtYWtlIHN1cmUgdGhhdCB0aGUgZGVjb2RlciBidWZm
ZXIgaXMgYmlnIGVub3VnaC4KLSAgICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRv
Q29udGFpbjxDaGFyYWN0ZXJUeXBlPihsZW5ndGgpKSB7Ci0gICAgICAgIGRlY29kZXIubWFya0lu
dmFsaWQoKTsKKyAgICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbjxD
aGFyYWN0ZXJUeXBlPihsZW5ndGgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAg
IAorCiAgICAgQ2hhcmFjdGVyVHlwZSogYnVmZmVyOwogICAgIFN0cmluZyBzdHJpbmcgPSBTdHJp
bmc6OmNyZWF0ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYnVmZmVy
KSwgbGVuZ3RoICogc2l6ZW9mKENoYXJhY3RlclR5cGUpKSkKQEAgLTE2NywxMSArMTYzLDcgQEAg
Ym9vbCBDb2RlcjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8+OjpkZQogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVGaXhlZExlbmd0aERhdGEoZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIElQQzo6QXJndW1lbnREZWNvZGVyIGFyZ3VtZW50RGVjb2Rl
cihkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOwotICAgIGlmICghYXJndW1lbnREZWNvZGVyLmRl
Y29kZShjZXJ0aWZpY2F0ZUluZm8pKSB7Ci0gICAgICAgIGRlY29kZXIubWFya0ludmFsaWQoKTsK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gYXJndW1lbnREZWNvZGVyLmRlY29kZShjZXJ0aWZpY2F0ZUluZm8pOwogfQogCiB2b2lkIENv
ZGVyPE1ENTo6RGlnZXN0Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1ENTo6RGln
ZXN0JiBkaWdlc3QpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVDb2RlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuaAkocmV2aXNpb24gMTg1NDEwKQorKysg
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE1MCwxMCArMTUwLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVCwg
c2l6ZV90IGlubGluZUNhcGFjaQogICAgICAgICAvLyBTaW5jZSB3ZSBrbm93IHRoZSB0b3RhbCBz
aXplIG9mIHRoZSBlbGVtZW50cywgd2UgY2FuIGFsbG9jYXRlIHRoZSB2ZWN0b3IgaW4KICAgICAg
ICAgLy8gb25lIGZlbGwgc3dvb3AuIEJlZm9yZSBhbGxvY2F0aW5nIHdlIG11c3QgaG93ZXZlciBt
YWtlIHN1cmUgdGhhdCB0aGUgZGVjb2RlciBidWZmZXIKICAgICAgICAgLy8gaXMgYmlnIGVub3Vn
aC4KLSAgICAgICAgaWYgKCFkZWNvZGVyLmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW48VD4o
c2l6ZSkpIHsKLSAgICAgICAgICAgIGRlY29kZXIubWFya0ludmFsaWQoKTsKKyAgICAgICAgaWYg
KCFkZWNvZGVyLmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW48VD4oc2l6ZSkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KIAogICAgICAgICBWZWN0b3I8VCwgaW5saW5l
Q2FwYWNpdHk+IHRlbXA7CiAgICAgICAgIHRlbXAucmVzaXplKHNpemUpOwpAQCAtMTk0LDcgKzE5
Miw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGUKIAogICAgICAg
ICAgICAgaWYgKCF0ZW1wSGFzaE1hcC5hZGQoa2V5LCB2YWx1ZSkuaXNOZXdFbnRyeSkgewogICAg
ICAgICAgICAgICAgIC8vIFRoZSBoYXNoIG1hcCBhbHJlYWR5IGhhcyB0aGUgc3BlY2lmaWVkIGtl
eSwgYmFpbC4KLSAgICAgICAgICAgICAgICBkZWNvZGVyLm1hcmtJbnZhbGlkKCk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0yMjgs
NyArMjI1LDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBIYXNoQQogCiAg
ICAgICAgICAgICBpZiAoIXRlbXBIYXNoU2V0LmFkZChrZXkpLmlzTmV3RW50cnkpIHsKICAgICAg
ICAgICAgICAgICAvLyBUaGUgaGFzaCBtYXAgYWxyZWFkeSBoYXMgdGhlIHNwZWNpZmllZCBrZXks
IGJhaWwuCi0gICAgICAgICAgICAgICAgZGVjb2Rlci5tYXJrSW52YWxpZCgpOwogICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpJbmRleDogU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRGVjb2Rlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlRGVjb2Rlci5jcHAJKHJldmlzaW9uIDE4NTQxMCkKKysrIFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZURlY29kZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogRGVjb2Rlcjo6RGVj
b2Rlcihjb25zdCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBidWZmZXJTaXplKQogICAgIDogbV9i
dWZmZXIoYnVmZmVyKQogICAgICwgbV9idWZmZXJQb3NpdGlvbihidWZmZXIpCi0gICAgLCBtX2J1
ZmZlckVuZChidWZmZXIgKyBidWZmZXJTaXplKQorICAgICwgbV9idWZmZXJTaXplKGJ1ZmZlclNp
emUpCiAgICAgLCBtX2NoZWNrc3VtKDApCiB7CiB9CkBAIC00Nyw3ICs0Nyw5IEBAIERlY29kZXI6
On5EZWNvZGVyKCkKIAogYm9vbCBEZWNvZGVyOjpidWZmZXJJc0xhcmdlRW5vdWdoVG9Db250YWlu
KHNpemVfdCBzaXplKSBjb25zdAogewotICAgIHJldHVybiBtX2J1ZmZlclBvc2l0aW9uICsgc2l6
ZSA8PSBtX2J1ZmZlckVuZDsKKyAgICBpZiAoc2l6ZSA+IG1fYnVmZmVyU2l6ZSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiBjdXJyZW50T2Zmc2V0KCkgKyBzaXplIDw9IG1fYnVm
ZmVyU2l6ZTsKIH0KIAogYm9vbCBEZWNvZGVyOjpkZWNvZGVGaXhlZExlbmd0aERhdGEodWludDhf
dCogZGF0YSwgc2l6ZV90IHNpemUpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVEZWNvZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRGVjb2Rlci5oCShyZXZpc2lvbiAx
ODU0MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVEZWNvZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDEyICszOSw5IEBAIHB1YmxpYzoKICAg
ICBEZWNvZGVyKGNvbnN0IHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGJ1ZmZlclNpemUpOwogICAg
IHZpcnR1YWwgfkRlY29kZXIoKTsKIAotICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVy
biBtX2J1ZmZlckVuZCAtIG1fYnVmZmVyOyB9CisgICAgc2l6ZV90IGJ1ZmZlclNpemUoKSBjb25z
dCB7IHJldHVybiBtX2J1ZmZlclNpemU7IH0KICAgICBzaXplX3QgY3VycmVudE9mZnNldCgpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyUG9zaXRpb24gLSBtX2J1ZmZlcjsgfQogCi0gICAgYm9vbCBp
c0ludmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlclBvc2l0aW9uID4gbV9idWZmZXJFbmQ7
IH0KLSAgICB2b2lkIG1hcmtJbnZhbGlkKCkgeyBtX2J1ZmZlclBvc2l0aW9uID0gbV9idWZmZXJF
bmQgKyAxOyB9Ci0KICAgICBib29sIHZlcmlmeUNoZWNrc3VtKCk7CiAKICAgICBib29sIGRlY29k
ZUZpeGVkTGVuZ3RoRGF0YSh1aW50OF90Kiwgc2l6ZV90KTsKQEAgLTkzLDcgKzkwLDcgQEAgcHJp
dmF0ZToKIAogICAgIGNvbnN0IHVpbnQ4X3QqIG1fYnVmZmVyOwogICAgIGNvbnN0IHVpbnQ4X3Qq
IG1fYnVmZmVyUG9zaXRpb247Ci0gICAgY29uc3QgdWludDhfdCogbV9idWZmZXJFbmQ7CisgICAg
Y29uc3Qgc2l6ZV90IG1fYnVmZmVyU2l6ZTsKIAogICAgIHVuc2lnbmVkIG1fY2hlY2tzdW07CiB9
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254678</attachid>
            <date>2015-06-10 14:52:50 -0700</date>
            <delta_ts>2015-06-11 09:42:37 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>disk-cache-coder-32bit-3.patch</filename>
            <type>text/plain</type>
            <size>6551</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTQxNSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA2LTEwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBOZXR3b3JrIHByb2Nlc3MgY3Jh
c2hlcyBkZWNvZGluZyBpbnZhbGlkIGNhY2hlIGVudHJ5IG9uIDMyYml0IHN5c3RlbQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1ODQyCisgICAgICAg
IHJkYXI6Ly9wcm9ibGVtLzIxMjI4MzM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWZ0ZXIgY2FjaGUgc2NoZW1lIGNoYW5nZXMgd2UgbWF5IGVuZCB1
cCBkZWNvZGluZyBpbnZhbGlkIGNhY2hlIGVudHJpZXMuIFRoaXMgaXMgYnkgZGVzaWduLAorICAg
ICAgICB3ZSBzaG91bGQganVzdCBmYWlsIGRlY29kaW5nIGFuZCBkZWxldGUgdGhlc2UgZW50cmll
cy4KKworICAgICAgICBIb3dldmVyIERlY29kZXI6OmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRh
aW4gdGVzdCBpbiBzb21lIGNhc2VzIHdvdWxkIGFsbG93IGNvcnJ1cHRlZCBsYXJnZQorICAgICAg
ICBzaXplcyBkdWUgdG8gb3ZlcmZsb3cgaW4gMzJiaXQgcG9pbnRlciBtYXRoIGFuZCB3ZSB3b3Vs
ZCBjcmFzaCB3aGVuIGFsbG9jYXRpbmcgYSBzdHJpbmcuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OkNvZGVyPENTdHJpbmc+OjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OmRlY29kZVN0cmluZ1RleHQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OkNvZGVyPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbz46OmRlY29kZSk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q29kZXI8TUQ1OjpEaWdlc3Q+OjplbmNvZGUpOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZURlY29kZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkRlY29kZXI6OkRlY29kZXIpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6OkRlY29kZXI6OmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW4pOgor
CisgICAgICAgICAgICBSZXNodWZmbGUgdG8gYXZvaWQgc3VtLgorCisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6ZGVjb2RlRml4ZWRMZW5ndGhEYXRhKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEZWNvZGVyLmg6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6YnVmZmVyU2l6ZSk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6Y3VycmVudE9mZnNldCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6RGVjb2Rlcjo6bGVuZ3RoKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlOjpEZWNvZGVyOjppc0ludmFsaWQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkRlY29kZXI6Om1hcmtJbnZhbGlkKTogRGVsZXRlZC4K
KworICAgICAgICAgICAgUmVtb3ZlIHRoZXNlLCB0aGV5IGFyZSBub3QgcmVhbGx5IHVzZWQgb3Ig
bmVlZGVkLgorCiAyMDE1LTA2LTEwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBHZXQgcmlkIG9mIEdldEVkaXRvckNvbW1hbmRzRm9y
S2V5RXZlbnQgc3luYyBtZXNzYWdlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5jcHAJKHJldmlzaW9u
IDE4NTQxMCkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZUNvZGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDEwICs3Niw4IEBAIGJvb2wgQ29k
ZXI8Q1N0cmluZz46OmRlY29kZShEZWNvZGVyJiBkZWMKICAgICB9CiAKICAgICAvLyBCZWZvcmUg
YWxsb2NhdGluZyB0aGUgc3RyaW5nLCBtYWtlIHN1cmUgdGhhdCB0aGUgZGVjb2RlciBidWZmZXIg
aXMgYmlnIGVub3VnaC4KLSAgICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29u
dGFpbjxjaGFyPihsZW5ndGgpKSB7Ci0gICAgICAgIGRlY29kZXIubWFya0ludmFsaWQoKTsKKyAg
ICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbjxjaGFyPihsZW5ndGgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQogCiAgICAgY2hhciogYnVmZmVyOwogICAg
IENTdHJpbmcgc3RyaW5nID0gQ1N0cmluZzo6bmV3VW5pbml0aWFsaXplZChsZW5ndGgsIGJ1ZmZl
cik7CkBAIC0xMTQsMTEgKzExMiw5IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
Pgogc3RhdGljIGlubGluZSBib29sIGRlY29kZVN0cmluZ1RleHQoRGVjb2RlciYgZGVjb2Rlciwg
dWludDMyX3QgbGVuZ3RoLCBTdHJpbmcmIHJlc3VsdCkKIHsKICAgICAvLyBCZWZvcmUgYWxsb2Nh
dGluZyB0aGUgc3RyaW5nLCBtYWtlIHN1cmUgdGhhdCB0aGUgZGVjb2RlciBidWZmZXIgaXMgYmln
IGVub3VnaC4KLSAgICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbjxD
aGFyYWN0ZXJUeXBlPihsZW5ndGgpKSB7Ci0gICAgICAgIGRlY29kZXIubWFya0ludmFsaWQoKTsK
KyAgICBpZiAoIWRlY29kZXIuYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbjxDaGFyYWN0ZXJU
eXBlPihsZW5ndGgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIAorCiAgICAg
Q2hhcmFjdGVyVHlwZSogYnVmZmVyOwogICAgIFN0cmluZyBzdHJpbmcgPSBTdHJpbmc6OmNyZWF0
ZVVuaW5pdGlhbGl6ZWQobGVuZ3RoLCBidWZmZXIpOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGVG
aXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYnVmZmVyKSwgbGVuZ3Ro
ICogc2l6ZW9mKENoYXJhY3RlclR5cGUpKSkKQEAgLTE2NywxMSArMTYzLDcgQEAgYm9vbCBDb2Rl
cjxXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8+OjpkZQogICAgIGlmICghZGVjb2Rlci5kZWNvZGVG
aXhlZExlbmd0aERhdGEoZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIElQQzo6QXJndW1lbnREZWNvZGVyIGFyZ3VtZW50RGVjb2RlcihkYXRhLmRh
dGEoKSwgZGF0YS5zaXplKCkpOwotICAgIGlmICghYXJndW1lbnREZWNvZGVyLmRlY29kZShjZXJ0
aWZpY2F0ZUluZm8pKSB7Ci0gICAgICAgIGRlY29kZXIubWFya0ludmFsaWQoKTsKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gYXJndW1l
bnREZWNvZGVyLmRlY29kZShjZXJ0aWZpY2F0ZUluZm8pOwogfQogCiB2b2lkIENvZGVyPE1ENTo6
RGlnZXN0Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1ENTo6RGlnZXN0JiBkaWdl
c3QpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVDb2RlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuaAkocmV2aXNpb24gMTg1NDEwKQorKysgU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE1MCwxMCArMTUwLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlu
bGluZUNhcGFjaQogICAgICAgICAvLyBTaW5jZSB3ZSBrbm93IHRoZSB0b3RhbCBzaXplIG9mIHRo
ZSBlbGVtZW50cywgd2UgY2FuIGFsbG9jYXRlIHRoZSB2ZWN0b3IgaW4KICAgICAgICAgLy8gb25l
IGZlbGwgc3dvb3AuIEJlZm9yZSBhbGxvY2F0aW5nIHdlIG11c3QgaG93ZXZlciBtYWtlIHN1cmUg
dGhhdCB0aGUgZGVjb2RlciBidWZmZXIKICAgICAgICAgLy8gaXMgYmlnIGVub3VnaC4KLSAgICAg
ICAgaWYgKCFkZWNvZGVyLmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW48VD4oc2l6ZSkpIHsK
LSAgICAgICAgICAgIGRlY29kZXIubWFya0ludmFsaWQoKTsKKyAgICAgICAgaWYgKCFkZWNvZGVy
LmJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRhaW48VD4oc2l6ZSkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIH0KIAogICAgICAgICBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHk+
IHRlbXA7CiAgICAgICAgIHRlbXAucmVzaXplKHNpemUpOwpAQCAtMTk0LDcgKzE5Miw2IEBAIHRl
bXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGUKIAogICAgICAgICAgICAgaWYg
KCF0ZW1wSGFzaE1hcC5hZGQoa2V5LCB2YWx1ZSkuaXNOZXdFbnRyeSkgewogICAgICAgICAgICAg
ICAgIC8vIFRoZSBoYXNoIG1hcCBhbHJlYWR5IGhhcyB0aGUgc3BlY2lmaWVkIGtleSwgYmFpbC4K
LSAgICAgICAgICAgICAgICBkZWNvZGVyLm1hcmtJbnZhbGlkKCk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0yMjgsNyArMjI1LDYg
QEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBIYXNoQQogCiAgICAgICAgICAg
ICBpZiAoIXRlbXBIYXNoU2V0LmFkZChrZXkpLmlzTmV3RW50cnkpIHsKICAgICAgICAgICAgICAg
ICAvLyBUaGUgaGFzaCBtYXAgYWxyZWFkeSBoYXMgdGhlIHNwZWNpZmllZCBrZXksIGJhaWwuCi0g
ICAgICAgICAgICAgICAgZGVjb2Rlci5tYXJrSW52YWxpZCgpOwogICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRGVjb2Rlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRGVj
b2Rlci5jcHAJKHJldmlzaW9uIDE4NTQxMCkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZURlY29kZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3
ICs0Nyw3IEBAIERlY29kZXI6On5EZWNvZGVyKCkKIAogYm9vbCBEZWNvZGVyOjpidWZmZXJJc0xh
cmdlRW5vdWdoVG9Db250YWluKHNpemVfdCBzaXplKSBjb25zdAogewotICAgIHJldHVybiBtX2J1
ZmZlclBvc2l0aW9uICsgc2l6ZSA8PSBtX2J1ZmZlckVuZDsKKyAgICByZXR1cm4gc2l6ZSA8PSBz
dGF0aWNfY2FzdDxzaXplX3Q+KG1fYnVmZmVyRW5kIC0gbV9idWZmZXJQb3NpdGlvbik7CiB9CiAK
IGJvb2wgRGVjb2Rlcjo6ZGVjb2RlRml4ZWRMZW5ndGhEYXRhKHVpbnQ4X3QqIGRhdGEsIHNpemVf
dCBzaXplKQpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlRGVjb2Rlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZURlY29kZXIuaAkocmV2aXNpb24gMTg1NDEwKQorKysgU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRGVjb2Rlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Miw5ICs0Miw2IEBAIHB1YmxpYzoKICAgICBzaXplX3QgbGVuZ3Ro
KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJFbmQgLSBtX2J1ZmZlcjsgfQogICAgIHNpemVfdCBj
dXJyZW50T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJQb3NpdGlvbiAtIG1fYnVmZmVy
OyB9CiAKLSAgICBib29sIGlzSW52YWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyUG9zaXRp
b24gPiBtX2J1ZmZlckVuZDsgfQotICAgIHZvaWQgbWFya0ludmFsaWQoKSB7IG1fYnVmZmVyUG9z
aXRpb24gPSBtX2J1ZmZlckVuZCArIDE7IH0KLQogICAgIGJvb2wgdmVyaWZ5Q2hlY2tzdW0oKTsK
IAogICAgIGJvb2wgZGVjb2RlRml4ZWRMZW5ndGhEYXRhKHVpbnQ4X3QqLCBzaXplX3QpOwo=
</data>
<flag name="review"
          id="279669"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>