<?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>32176</bug_id>
          
          <creation_ts>2009-12-04 15:32:00 -0800</creation_ts>
          <short_desc>Test that an image&apos;s size is valid before reading it.</short_desc>
          <delta_ts>2010-06-16 20:38:10 -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>Images</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Langley">agl</reporter>
          <assigned_to name="Adam Langley">agl</assigned_to>
          <cc>eric</cc>
    
    <cc>mrobinson</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>168958</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-12-04 15:32:00 -0800</bug_when>
    <thetext>Previously, an image that failed to load (m_failed == true) would trigger an assertion failure when WebKit tried to get its size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168959</commentid>
    <comment_count>1</comment_count>
      <attachid>44338</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-12-04 15:33:24 -0800</bug_when>
    <thetext>Created attachment 44338
patch

(contains a binary file, so please don&apos;t cq+!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168964</commentid>
    <comment_count>2</comment_count>
      <attachid>44338</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-04 15:45:56 -0800</bug_when>
    <thetext>Comment on attachment 44338
patch

&gt;      // Zero-height images can cause problems for some ports.  If we have an
&gt;      // empty image dimension, just bail.
&gt; -    if (size().isEmpty())
&gt; +    if (isSizeAvailable() &amp;&amp; size().isEmpty())
&gt;          return 0;

This changes the logic. If the size is not available, this now continues and creates a native image. But the old code would return 0 if the size was not available. You should reverse the logic.

    if (!isSizeAvailable() || ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169855</commentid>
    <comment_count>3</comment_count>
      <attachid>44503</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-12-08 17:56:05 -0800</bug_when>
    <thetext>Created attachment 44503
patch

I originally thought that size() would return random memory in the case that it hadn&apos;t been set, but now I notice that it&apos;s constructed to 0, 0. So I&apos;ve changed the logic as suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169856</commentid>
    <comment_count>4</comment_count>
      <attachid>44504</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-12-08 17:57:17 -0800</bug_when>
    <thetext>Created attachment 44504
patch

Crap. Wrong patch. Corrected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175414</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-28 22:40:36 -0800</bug_when>
    <thetext>Attachment 44504 was posted by a committer and has review+, assigning to Adam Langley for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175438</commentid>
    <comment_count>6</comment_count>
      <attachid>44504</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-28 23:19:22 -0800</bug_when>
    <thetext>Comment on attachment 44504
patch

This can&apos;t be cq&apos;d because it&apos;s missing the binary data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175609</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-12-29 09:49:03 -0800</bug_when>
    <thetext>r52102</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239195</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-16 20:38:10 -0700</bug_when>
    <thetext>This test seems to be (at least recently) crashing on Gtk.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44338</attachid>
            <date>2009-12-04 15:33:24 -0800</date>
            <delta_ts>2009-12-08 17:56:05 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3484</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3ODQyMjU1Li42N2ZhMjJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMTIt
MDQgIEFkYW0gTGFuZ2xleSAgPGFnbEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhhdCBhbiBpbWFnZSdzIHNpemUgaXMg
dmFsaWQgYmVmb3JlIHJlYWRpbmcgaXQuCisKKyAgICAgICAgUHJldmlvdXNseSwgYW4gaW1hZ2Ug
dGhhdCBmYWlsZWQgdG8gbG9hZCAobV9mYWlsZWQgPT0gdHJ1ZSkgd291bGQKKyAgICAgICAgdHJp
Z2dlciBhbiBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIFdlYktpdCB0cmllZCB0byBnZXQgaXRzIHNp
emUuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTc2CisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0
YWlsP2lkPTI4NTY2CisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9yZXNvdXJjZXMvc2l6ZS1mYWls
dXJlLmdpZjogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvc2l6ZS1mYWlsdXJlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvc2l6ZS1mYWlsdXJlLmh0bWw6
IEFkZGVkLgorCiAyMDA5LTEyLTA0ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW4ucG91bGFp
bkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvc2l6
ZS1mYWlsdXJlLmdpZiBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9zaXplLWZh
aWx1cmUuZ2lmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiYjdkZGYKQmlu
YXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJj
ZXMvc2l6ZS1mYWlsdXJlLmdpZiBkaWZmZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL3NpemUtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9zaXplLWZhaWx1cmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmFhNDRlN2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9zaXplLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorCitQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9zaXplLWZhaWx1cmUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL3NpemUtZmFpbHVyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjI4ZDQ4ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ltYWdlcy9zaXplLWZhaWx1cmUuaHRtbApAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKyAg
PGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICA8L3Nj
cmlwdD4KKworICAgPC9oZWFkPgorICAgPGJvZHk+CisgICAgIDwhLS0gVGhpcyBwcmV2aW91c2x5
IHRyaWVkIHRvIHJlYWQgdGhlIHNpemUgb2YgdGhlIGltYWdlIHdoZW4KKyAgICAgICAgICBJbWFn
ZURlY29kZXI6Om1fZmFpbGVkIHdhcyB0cnVlLCB0cmlnZ2VyaW5nIGVpdGhlciBhbiBhc3NlcnQg
b3IgYQorICAgICAgICAgIHJlYWQgb2YgcmFuZG9tIG1lbW9yeS4gVGhhbmtzIHRvIFJvYmVydCBT
d2llY2tpIGZvciB0aGUgdGVzdCBjYXNlLiAtLT4KKyAgICAgPGltZyBzcmM9InJlc291cmNlcy9z
aXplLWZhaWx1cmUuZ2lmIj4KKyAgICAgPHA+UEFTUzwvcD4KKyAgIDwvYm9keT4KKyA8L2h0bWw+
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDRmNDg2NDUuLjc2ZmNhZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMTItMDQgIEFkYW0gTGFuZ2xl
eSAgPGFnbEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3QgdGhhdCBhbiBpbWFnZSdzIHNpemUgaXMgdmFsaWQgYmVmb3JlIHJl
YWRpbmcgaXQuCisKKyAgICAgICAgUHJldmlvdXNseSwgYW4gaW1hZ2UgdGhhdCBmYWlsZWQgdG8g
bG9hZCAobV9mYWlsZWQgPT0gdHJ1ZSkgd291bGQKKyAgICAgICAgdHJpZ2dlciBhbiBhc3NlcnRp
b24gZmFpbHVyZSB3aGVuIFdlYktpdCB0cmllZCB0byBnZXQgaXRzIHNpemUuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMTc2CisgICAgICAgIGh0
dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTI4NTY2CisK
KyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMvc2l6ZS1mYWlsdXJlLmh0bWwKKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlU291cmNlOjpjcmVhdGVGcmFtZUF0SW5kZXgpOgorCiAyMDA5LTEyLTA0ICBCZW5qYW1pbiBQ
b3VsYWluICA8YmVuamFtaW4ucG91bGFpbkBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VTb3VyY2UuY3BwCmluZGV4IGJmN2FlMjEuLjMzZjY2NmQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCkBAIC0xMzEsNyArMTMxLDcgQEAgTmF0aXZlSW1h
Z2VQdHIgSW1hZ2VTb3VyY2U6OmNyZWF0ZUZyYW1lQXRJbmRleChzaXplX3QgaW5kZXgpCiAKICAg
ICAvLyBaZXJvLWhlaWdodCBpbWFnZXMgY2FuIGNhdXNlIHByb2JsZW1zIGZvciBzb21lIHBvcnRz
LiAgSWYgd2UgaGF2ZSBhbgogICAgIC8vIGVtcHR5IGltYWdlIGRpbWVuc2lvbiwganVzdCBiYWls
LgotICAgIGlmIChzaXplKCkuaXNFbXB0eSgpKQorICAgIGlmIChpc1NpemVBdmFpbGFibGUoKSAm
JiBzaXplKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIC8vIFJldHVybiB0
aGUgYnVmZmVyIGNvbnRlbnRzIGFzIGEgbmF0aXZlIGltYWdlLiAgRm9yIHNvbWUgcG9ydHMsIHRo
ZSBkYXRhCg==
</data>
<flag name="review"
          id="26169"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44503</attachid>
            <date>2009-12-08 17:56:05 -0800</date>
            <delta_ts>2009-12-08 17:57:17 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12960</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL21vemlsbGEvc2VjdXJpdHkvbnNzL2NtZC9zdHJzY2xudC9zdHJzY2xudC5j
IGIvbW96aWxsYS9zZWN1cml0eS9uc3MvY21kL3N0cnNjbG50L3N0cnNjbG50LmMKaW5kZXggNjlk
YjcxZS4uNDAwYWJkYyAxMDA2NDQKLS0tIGEvbW96aWxsYS9zZWN1cml0eS9uc3MvY21kL3N0cnNj
bG50L3N0cnNjbG50LmMKKysrIGIvbW96aWxsYS9zZWN1cml0eS9uc3MvY21kL3N0cnNjbG50L3N0
cnNjbG50LmMKQEAgLTE2Miw2ICsxNjIsNyBAQCBzdGF0aWMgUFJCb29sIGRpc2FibGVMb2NraW5n
ICA9IFBSX0ZBTFNFOwogc3RhdGljIFBSQm9vbCBpZ25vcmVFcnJvcnMgICAgPSBQUl9GQUxTRTsK
IHN0YXRpYyBQUkJvb2wgZW5hYmxlU2Vzc2lvblRpY2tldHMgPSBQUl9GQUxTRTsKIHN0YXRpYyBQ
UkJvb2wgZW5hYmxlQ29tcHJlc3Npb24gICAgPSBQUl9GQUxTRTsKK3N0YXRpYyBQUkJvb2wgZW5h
YmxlQ3V0VGhyb3VnaCAgICAgPSBQUl9GQUxTRTsKIAogUFJJbnRlcnZhbFRpbWUgbWF4SW50ZXJ2
YWwgICAgPSBQUl9JTlRFUlZBTF9OT19USU1FT1VUOwogCkBAIC0xOTcsNyArMTk4LDggQEAgVXNh
Z2UoY29uc3QgY2hhciAqcHJvZ05hbWUpCiAgICAgICAgICIgICAgICAgLVUgbWVhbnMgZW5hYmxl
IHRocm90dGxpbmcgdXAgdGhyZWFkc1xuIgogCSIgICAgICAgLUIgYnlwYXNzZXMgdGhlIFBLQ1Mx
MSBsYXllciBmb3IgU1NMIGVuY3J5cHRpb24gYW5kIE1BQ2luZ1xuIgogCSIgICAgICAgLXUgZW5h
YmxlIFRMUyBTZXNzaW9uIFRpY2tldCBleHRlbnNpb25cbiIKLQkiICAgICAgIC16IGVuYWJsZSBj
b21wcmVzc2lvblxuIiwKKwkiICAgICAgIC16IGVuYWJsZSBjb21wcmVzc2lvblxuIgorCSIgICAg
ICAgLWcgZW5hYmxlIGN1dCB0aHJvdWdoXG4iLAogCXByb2dOYW1lKTsKICAgICBleGl0KDEpOwog
fQpAQCAtMTI0Myw2ICsxMjQ1LDEyIEBAIGNsaWVudF9tYWluKAogCSAgICBlcnJFeGl0KCJTU0xf
T3B0aW9uU2V0IFNTTF9FTkFCTEVfREVGTEFURSIpOwogICAgIH0KIAorICAgIGlmIChlbmFibGVD
dXRUaHJvdWdoKSB7CisJcnYgPSBTU0xfT3B0aW9uU2V0KG1vZGVsX3NvY2ssIFNTTF9FTkFCTEVf
Q1VUX1RIUk9VR0gsIFBSX1RSVUUpOworCWlmIChydiAhPSBTRUNTdWNjZXNzKQorCSAgICBlcnJF
eGl0KCJTU0xfT3B0aW9uU2V0IFNTTF9FTkFCTEVfQ1VUX1RIUk9VR0giKTsKKyAgICB9CisKICAg
ICBTU0xfU2V0VVJMKG1vZGVsX3NvY2ssIGhvc3ROYW1lKTsKIAogICAgIFNTTF9BdXRoQ2VydGlm
aWNhdGVIb29rKG1vZGVsX3NvY2ssIG15U1NMQXV0aENlcnRpZmljYXRlLCAKQEAgLTEzNDksNyAr
MTM1Nyw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIAogCiAgICAgb3B0c3RhdGUg
PSBQTF9DcmVhdGVPcHRTdGF0ZShhcmdjLCBhcmd2LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIjIzQkM6RE5QOlRVVzpjOmQ6ZjppbjpvcDpxc3Q6dXZ3OnoiKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICIyM0JDOkROUDpUVVc6YzpkOmY6Z2luOm9wOnFzdDp1
dnc6eiIpOwogICAgIHdoaWxlICgoc3RhdHVzID0gUExfR2V0TmV4dE9wdChvcHRzdGF0ZSkpID09
IFBMX09QVF9PSykgewogCXN3aXRjaChvcHRzdGF0ZS0+b3B0aW9uKSB7CiAKQEAgLTEzNzcsNiAr
MTM4NSw4IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAJY2FzZSAnZic6IGZpbGVO
YW1lID0gb3B0c3RhdGUtPnZhbHVlOyBicmVhazsKIAorCWNhc2UgJ2cnOiBlbmFibGVDdXRUaHJv
dWdoID0gUFJfVFJVRTsgYnJlYWs7CisKIAljYXNlICdpJzogaWdub3JlRXJyb3JzID0gUFJfVFJV
RTsgYnJlYWs7CiAKICAgICAgICAgY2FzZSAnbic6IG5pY2tOYW1lID0gUExfc3RyZHVwKG9wdHN0
YXRlLT52YWx1ZSk7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvbW96aWxsYS9zZWN1cml0eS9uc3MvY21k
L3RzdGNsbnQvdHN0Y2xudC5jIGIvbW96aWxsYS9zZWN1cml0eS9uc3MvY21kL3RzdGNsbnQvdHN0
Y2xudC5jCmluZGV4IDA4MGJiODkuLjQ3YjM0YjkgMTAwNjQ0Ci0tLSBhL21vemlsbGEvc2VjdXJp
dHkvbnNzL2NtZC90c3RjbG50L3RzdGNsbnQuYworKysgYi9tb3ppbGxhL3NlY3VyaXR5L25zcy9j
bWQvdHN0Y2xudC90c3RjbG50LmMKQEAgLTIxNSw2ICsyMTUsNyBAQCBzdGF0aWMgdm9pZCBVc2Fn
ZShjb25zdCBjaGFyICpwcm9nTmFtZSkKICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtMjBzIFJlbmVn
b3RpYXRlIHdpdGggc2Vzc2lvbiByZXN1bXB0aW9uLlxuIiwgIi1yIik7CiAgICAgZnByaW50Zihz
dGRlcnIsICIlLTIwcyBFbmFibGUgdGhlIHNlc3Npb24gdGlja2V0IGV4dGVuc2lvbi5cbiIsICIt
dSIpOwogICAgIGZwcmludGYoc3RkZXJyLCAiJS0yMHMgRW5hYmxlIGNvbXByZXNzaW9uLlxuIiwg
Ii16Iik7CisgICAgZnByaW50ZihzdGRlcnIsICIlLTIwcyBFbmFibGUgY3V0IHRocm91Z2guXG4i
LCAiLWciKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtMjBzIExldHRlcihzKSBjaG9zZW4gZnJv
bSB0aGUgZm9sbG93aW5nIGxpc3RcbiIsIAogICAgICAgICAgICAgICAgICAgICAiLWMgY2lwaGVy
cyIpOwogICAgIGZwcmludGYoc3RkZXJyLCAKQEAgLTUxMSw2ICs1MTIsNyBAQCBpbnQgbWFpbihp
bnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgaW50ICAgICAgICAgICAgICAgIHVzZUV4cG9ydFBv
bGljeSA9IDA7CiAgICAgaW50ICAgICAgICAgICAgICAgIGVuYWJsZVNlc3Npb25UaWNrZXRzID0g
MDsKICAgICBpbnQgICAgICAgICAgICAgICAgZW5hYmxlQ29tcHJlc3Npb24gPSAwOworICAgIGlu
dCAgICAgICAgICAgICAgICBlbmFibGVDdXRUaHJvdWdoID0gMDsKICAgICBQUlNvY2tldE9wdGlv
bkRhdGEgb3B0OwogICAgIFBSTmV0QWRkciAgICAgICAgICBhZGRyOwogICAgIFBSUG9sbERlc2Mg
ICAgICAgICBwb2xsc2V0WzJdOwpAQCAtNTM5LDcgKzU0MSw3IEBAIGludCBtYWluKGludCBhcmdj
LCBjaGFyICoqYXJndikKICAgICB9CiAKICAgICBvcHRzdGF0ZSA9IFBMX0NyZWF0ZU9wdFN0YXRl
KGFyZ2MsIGFyZ3YsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjNCU1RXOmM6
ZDpmaDptOm46b3A6cXI6c3V2dzp4eiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIjIzQlNUVzpjOmQ6Zmc6bTpuOm9wOnFyOnN0dXZ3Onh6Iik7CiAgICAgd2hpbGUgKChvcHRz
dGF0dXMgPSBQTF9HZXROZXh0T3B0KG9wdHN0YXRlKSkgPT0gUExfT1BUX09LKSB7CiAJc3dpdGNo
IChvcHRzdGF0ZS0+b3B0aW9uKSB7CiAJICBjYXNlICc/JzoKQEAgLTU1Nyw2ICs1NTksOCBAQCBp
bnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKICAgICAgICAgICBjYXNlICdjJzogY2lw
aGVyU3RyaW5nID0gUE9SVF9TdHJkdXAob3B0c3RhdGUtPnZhbHVlKTsgYnJlYWs7CiAKKyAgICAg
ICAgICBjYXNlICdnJzogZW5hYmxlQ3V0VGhyb3VnaCA9IDE7IAkJYnJlYWs7CisKICAgICAgICAg
ICBjYXNlICdkJzogY2VydERpciA9IFBPUlRfU3RyZHVwKG9wdHN0YXRlLT52YWx1ZSk7ICAgYnJl
YWs7CiAKICAgICAgICAgICBjYXNlICdmJzogY2xpZW50U3BlYWtzRmlyc3QgPSBQUl9UUlVFOyAg
ICAgICAgYnJlYWs7CkBAIC04NDMsNiArODQ3LDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy
ICoqYXJndikKIAlyZXR1cm4gMTsKICAgICB9CiAKKyAgICAvKiBlbmFibGUgY3V0LXRocm91Z2gu
ICovCisgICAgcnYgPSBTU0xfT3B0aW9uU2V0KHMsIFNTTF9FTkFCTEVfQ1VUX1RIUk9VR0gsIGVu
YWJsZUN1dFRocm91Z2gpOworICAgIGlmIChydiAhPSBTRUNTdWNjZXNzKSB7CisJU0VDVV9Qcmlu
dEVycm9yKHByb2dOYW1lLCAiZXJyb3IgZW5hYmxpbmcgY3V0IHRocm91Z2giKTsKKwlyZXR1cm4g
MTsKKyAgICB9CisKICAgICBTU0xfU2V0UEtDUzExUGluQXJnKHMsICZwd2RhdGEpOwogCiAgICAg
U1NMX0F1dGhDZXJ0aWZpY2F0ZUhvb2socywgU1NMX0F1dGhDZXJ0aWZpY2F0ZSwgKHZvaWQgKilo
YW5kbGUpOwpkaWZmIC0tZ2l0IGEvbW96aWxsYS9zZWN1cml0eS9uc3MvbGliL3NzbC9zc2wuaCBi
L21vemlsbGEvc2VjdXJpdHkvbnNzL2xpYi9zc2wvc3NsLmgKaW5kZXggZjJiZmJkMi4uYjYxN2Zh
YyAxMDA2NDQKLS0tIGEvbW96aWxsYS9zZWN1cml0eS9uc3MvbGliL3NzbC9zc2wuaAorKysgYi9t
b3ppbGxhL3NlY3VyaXR5L25zcy9saWIvc3NsL3NzbC5oCkBAIC0xMjEsNiArMTIxLDggQEAgU1NM
X0lNUE9SVCBQUkZpbGVEZXNjICpTU0xfSW1wb3J0RkQoUFJGaWxlRGVzYyAqbW9kZWwsIFBSRmls
ZURlc2MgKmZkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
IGV4dGVuc2lvbiBpbiBBTEwgaGFuZHNoYWtlcy4gICAqLwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLyogZGVmYXVsdDogb2ZmICAgICAgICAgICAgICAgICAgICov
CiAJCQkJCSAgLyogTk9UIFlFVCBJTVBMRU1FTlRFRCBpbiAzLjEyLjUgICovCisjZGVmaW5lIFNT
TF9FTkFCTEVfQ1VUX1RIUk9VR0ggICAgICAgICAyMiAvKiBFbmFibGUgVExTIGN1dCB0aHJvdWdo
IChvZmYgYnkgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
IGRlZmF1bHQpICAgICAgICAgICAgICAgICAgICAgICAqLwogCiAjaWZkZWYgU1NMX0RFUFJFQ0FU
RURfRlVOQ1RJT04gCiAvKiBPbGQgZGVwcmVjYXRlZCBmdW5jdGlvbiBuYW1lcyAqLwpkaWZmIC0t
Z2l0IGEvbW96aWxsYS9zZWN1cml0eS9uc3MvbGliL3NzbC9zc2wzY29uLmMgYi9tb3ppbGxhL3Nl
Y3VyaXR5L25zcy9saWIvc3NsL3NzbDNjb24uYwppbmRleCA4ZmE1MmIwLi5kYTU5NmJiIDEwMDY0
NAotLS0gYS9tb3ppbGxhL3NlY3VyaXR5L25zcy9saWIvc3NsL3NzbDNjb24uYworKysgYi9tb3pp
bGxhL3NlY3VyaXR5L25zcy9saWIvc3NsL3NzbDNjb24uYwpAQCAtNTU2Nyw3ICs1NTY3LDEyIEBA
IHNzbDNfUmVzdGFydEhhbmRzaGFrZUFmdGVyQ2VydFJlcShzc2xTb2NrZXQgKiAgICAgICAgIHNz
LAogICAgIHJldHVybiBydjsKIH0KIAotCitQUkJvb2wKK3NzbDNfQ2FuQ3V0VGhyb3VnaChzc2xT
b2NrZXQgKnNzKSB7CisgICAgcmV0dXJuIHNzLT5vcHQuZW5hYmxlQ3V0VGhyb3VnaCAmJgorCSAg
ICFzcy0+b3B0LmhhbmRzaGFrZUFzU2VydmVyICYmCisJICAgIXNzLT5zc2wzLmhzLmlzUmVzdW1p
bmc7Cit9CiAKIC8qIENhbGxlZCBmcm9tIHNzbDNfSGFuZGxlSGFuZHNoYWtlTWVzc2FnZSgpIHdo
ZW4gaXQgaGFzIGRlY2lwaGVyZWQgYSBjb21wbGV0ZQogICogc3NsMyBTZXJ2ZXIgSGVsbG8gRG9u
ZSBtZXNzYWdlLgpAQCAtNTYzMyw2ICs1NjM4LDEzIEBAIHNzbDNfSGFuZGxlU2VydmVySGVsbG9E
b25lKHNzbFNvY2tldCAqc3MpCiAJZ290byBsb3NlcjsJLyogZXJyIGNvZGUgd2FzIHNldC4gKi8K
ICAgICB9CiAKKyAgICBzcy0+Y2xpZW50RmluaXNoZWRTZW50ID0gMTsKKworICAgIC8qIERvIHRo
ZSBoYW5kc2hha2UgY2FsbGJhY2sgZm9yIHNzbHYzIGhlcmUuICovCisgICAgaWYgKHNzLT5oYW5k
c2hha2VDYWxsYmFjayAhPSBOVUxMICYmIHNzbDNfQ2FuQ3V0VGhyb3VnaChzcykpIHsKKwkoc3Mt
PmhhbmRzaGFrZUNhbGxiYWNrKShzcy0+ZmQsIHNzLT5oYW5kc2hha2VDYWxsYmFja0RhdGEpOwor
ICAgIH0KKwogICAgIHNzbF9SZWxlYXNlWG1pdEJ1ZkxvY2soc3MpOwkJLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKiovCiAKICAgICBpZiAoc3NsM19FeHRlbnNpb25OZWdvdGlhdGVkKHNz
LCBzZXNzaW9uX3RpY2tldF94dG4pKQpAQCAtODEwOSw3ICs4MTIxLDcgQEAgeG1pdF9sb3NlcjoK
ICAgICBzcy0+c3NsMy5ocy53cyA9IGlkbGVfaGFuZHNoYWtlOwogCiAgICAgLyogRG8gdGhlIGhh
bmRzaGFrZSBjYWxsYmFjayBmb3Igc3NsdjMgaGVyZS4gKi8KLSAgICBpZiAoc3MtPmhhbmRzaGFr
ZUNhbGxiYWNrICE9IE5VTEwpIHsKKyAgICBpZiAoc3MtPmhhbmRzaGFrZUNhbGxiYWNrICE9IE5V
TEwgJiYgIXNzbDNfQ2FuQ3V0VGhyb3VnaChzcykpIHsKIAkoc3MtPmhhbmRzaGFrZUNhbGxiYWNr
KShzcy0+ZmQsIHNzLT5oYW5kc2hha2VDYWxsYmFja0RhdGEpOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvbW96aWxsYS9zZWN1cml0eS9uc3MvbGliL3NzbC9zc2wzZ3Roci5jIGIvbW96aWxsYS9zZWN1
cml0eS9uc3MvbGliL3NzbC9zc2wzZ3Roci5jCmluZGV4IGJkZDI5NTguLjdlOTg4MWYgMTAwNjQ0
Ci0tLSBhL21vemlsbGEvc2VjdXJpdHkvbnNzL2xpYi9zc2wvc3NsM2d0aHIuYworKysgYi9tb3pp
bGxhL3NlY3VyaXR5L25zcy9saWIvc3NsL3NzbDNndGhyLmMKQEAgLTE4OCw2ICsxODgsNyBAQCBz
c2wzX0dhdGhlckNvbXBsZXRlSGFuZHNoYWtlKHNzbFNvY2tldCAqc3MsIGludCBmbGFncykKIHsK
ICAgICBTU0wzQ2lwaGVydGV4dCBjVGV4dDsKICAgICBpbnQgICAgICAgICAgICBydjsKKyAgICBQ
UkJvb2wgICAgICAgICBjYW5DdXRUaHJvdWdoID0gUFJfRkFMU0U7CiAKICAgICBQT1JUX0Fzc2Vy
dCggc3MtPm9wdC5ub0xvY2tzIHx8IHNzbF9IYXZlUmVjdkJ1ZkxvY2soc3MpICk7CiAgICAgZG8g
ewpAQCAtMjA3LDcgKzIwOCwxNyBAQCBzc2wzX0dhdGhlckNvbXBsZXRlSGFuZHNoYWtlKHNzbFNv
Y2tldCAqc3MsIGludCBmbGFncykKIAlpZiAocnYgPCAwKSB7CiAJICAgIHJldHVybiBzcy0+cmVj
dmRDbG9zZU5vdGlmeSA/IDAgOiBydjsKIAl9Ci0gICAgfSB3aGlsZSAoc3MtPnNzbDMuaHMud3Mg
IT0gaWRsZV9oYW5kc2hha2UgJiYgc3MtPmdzLmJ1Zi5sZW4gPT0gMCk7CisKKwlpZiAoc3MtPm9w
dC5lbmFibGVDdXRUaHJvdWdoKSB7CisJICAgIHNzbF9HZXRTU0wzSGFuZHNoYWtlTG9jayhzcyk7
CisJICAgIGNhbkN1dFRocm91Z2ggPSBzc2wzX0NhbkN1dFRocm91Z2goc3MpICYmCisJCQkgICAg
c3MtPmNsaWVudEZpbmlzaGVkU2VudCAmJgorCQkJICAgIHNzLT5zc2wzLmhzLndzID09IHdhaXRf
Y2hhbmdlX2NpcGhlcjsKKwkgICAgc3NsX1JlbGVhc2VTU0wzSGFuZHNoYWtlTG9jayhzcyk7CisJ
fQorICAgIH0gd2hpbGUgKHNzLT5zc2wzLmhzLndzICE9IGlkbGVfaGFuZHNoYWtlICYmCisgICAg
ICAgICAgICAgIWNhbkN1dFRocm91Z2ggJiYKKyAgICAgICAgICAgICBzcy0+Z3MuYnVmLmxlbiA9
PSAwKTsKIAogICAgIHNzLT5ncy5yZWFkT2Zmc2V0ID0gMDsKICAgICBzcy0+Z3Mud3JpdGVPZmZz
ZXQgPSBzcy0+Z3MuYnVmLmxlbjsKZGlmZiAtLWdpdCBhL21vemlsbGEvc2VjdXJpdHkvbnNzL2xp
Yi9zc2wvc3NsaW1wbC5oIGIvbW96aWxsYS9zZWN1cml0eS9uc3MvbGliL3NzbC9zc2xpbXBsLmgK
aW5kZXggMWYwYzIwNy4uY2JlM2I0MyAxMDA2NDQKLS0tIGEvbW96aWxsYS9zZWN1cml0eS9uc3Mv
bGliL3NzbC9zc2xpbXBsLmgKKysrIGIvbW96aWxsYS9zZWN1cml0eS9uc3MvbGliL3NzbC9zc2xp
bXBsLmgKQEAgLTMzNyw2ICszMzcsNyBAQCB0eXBlZGVmIHN0cnVjdCBzc2xPcHRpb25zU3RyIHsK
ICAgICB1bnNpZ25lZCBpbnQgZW5hYmxlRGVmbGF0ZSAgICAgICAgICA6IDE7ICAvKiAxOSAqLwog
ICAgIHVuc2lnbmVkIGludCBlbmFibGVSZW5lZ290aWF0aW9uICAgIDogMjsgIC8qIDIwLTIxICov
CiAgICAgdW5zaWduZWQgaW50IHJlcXVpcmVTYWZlTmVnb3RpYXRpb24gOiAxOyAgLyogMjIgKi8K
KyAgICB1bnNpZ25lZCBpbnQgZW5hYmxlQ3V0VGhyb3VnaCAgICAgICA6IDE7ICAvKiAyMyAqLwog
fSBzc2xPcHRpb25zOwogCiB0eXBlZGVmIGVudW0geyBzc2xIYW5kc2hha2luZ1VuZGV0ZXJtaW5l
ZCA9IDAsCkBAIC0xMDAxLDYgKzEwMDIsNyBAQCBzdHJ1Y3Qgc3NsU29ja2V0U3RyIHsKICAgICB1
bnNpZ25lZCBsb25nICAgIGNsaWVudEF1dGhSZXF1ZXN0ZWQ7CiAgICAgdW5zaWduZWQgbG9uZyAg
ICBkZWxheURpc2FibGVkOyAgICAgICAvKiBOYWdsZSBkZWxheSBkaXNhYmxlZCAqLwogICAgIHVu
c2lnbmVkIGxvbmcgICAgZmlyc3RIc0RvbmU7ICAgICAgICAgLyogZmlyc3QgaGFuZHNoYWtlIGlz
IGNvbXBsZXRlLiAqLworICAgIHVuc2lnbmVkIGxvbmcgICAgY2xpZW50RmluaXNoZWRTZW50Owog
ICAgIHVuc2lnbmVkIGxvbmcgICAgaGFuZHNoYWtlQmVndW47ICAgICAKICAgICB1bnNpZ25lZCBs
b25nICAgIGxhc3RXcml0ZUJsb2NrZWQ7ICAgCiAgICAgdW5zaWduZWQgbG9uZyAgICByZWN2ZENs
b3NlTm90aWZ5OyAgICAvKiByZWNlaXZlZCBTU0wgRU9GLiAqLwpAQCAtMTIzMSw2ICsxMjMzLDgg
QEAgZXh0ZXJuIHZvaWQgICAgICBzc2xfU2V0QWx3YXlzQmxvY2soc3NsU29ja2V0ICpzcyk7CiAK
IGV4dGVybiBTRUNTdGF0dXMgc3NsX0VuYWJsZU5hZ2xlRGVsYXkoc3NsU29ja2V0ICpzcywgUFJC
b29sIGVuYWJsZWQpOwogCitleHRlcm4gUFJCb29sICAgIHNzbDNfQ2FuQ3V0VGhyb3VnaChzc2xT
b2NrZXQgKnNzKTsKKwogI2RlZmluZSBTU0xfTE9DS19SRUFERVIoc3MpCQlpZiAoc3MtPnJlY3ZM
b2NrKSBQWl9Mb2NrKHNzLT5yZWN2TG9jaykKICNkZWZpbmUgU1NMX1VOTE9DS19SRUFERVIoc3Mp
CQlpZiAoc3MtPnJlY3ZMb2NrKSBQWl9VbmxvY2soc3MtPnJlY3ZMb2NrKQogI2RlZmluZSBTU0xf
TE9DS19XUklURVIoc3MpCQlpZiAoc3MtPnNlbmRMb2NrKSBQWl9Mb2NrKHNzLT5zZW5kTG9jaykK
ZGlmZiAtLWdpdCBhL21vemlsbGEvc2VjdXJpdHkvbnNzL2xpYi9zc2wvc3Nsc2VjdXIuYyBiL21v
emlsbGEvc2VjdXJpdHkvbnNzL2xpYi9zc2wvc3Nsc2VjdXIuYwppbmRleCBjMTMxMDBhLi5jMGQz
ZDAyIDEwMDY0NAotLS0gYS9tb3ppbGxhL3NlY3VyaXR5L25zcy9saWIvc3NsL3NzbHNlY3VyLmMK
KysrIGIvbW96aWxsYS9zZWN1cml0eS9uc3MvbGliL3NzbC9zc2xzZWN1ci5jCkBAIC0xNDgsNiAr
MTQ4LDExIEBAIHNzbF9EbzFzdEhhbmRzaGFrZShzc2xTb2NrZXQgKnNzKQogCSAgICBzcy0+Z3Mu
cmVhZE9mZnNldCAgPSAwOwogCSAgICBicmVhazsKIAl9CisJaWYgKHNzLT52ZXJzaW9uID49IFNT
TF9MSUJSQVJZX1ZFUlNJT05fM18wICYmCisJICAgIHNzbDNfQ2FuQ3V0VGhyb3VnaChzcykgJiYK
KwkgICAgc3MtPmNsaWVudEZpbmlzaGVkU2VudCkgeworCSAgICBicmVhazsKKwl9CiAJcnYgPSAo
KnNzLT5oYW5kc2hha2UpKHNzKTsKIAkrK2xvb3BDb3VudDsKICAgICAvKiBUaGlzIGNvZGUgbXVz
dCBjb250aW51ZSB0byBsb29wIG9uIFNFQ1dvdWxkQmxvY2ssIApkaWZmIC0tZ2l0IGEvbW96aWxs
YS9zZWN1cml0eS9uc3MvbGliL3NzbC9zc2xzb2NrLmMgYi9tb3ppbGxhL3NlY3VyaXR5L25zcy9s
aWIvc3NsL3NzbHNvY2suYwppbmRleCAxZmE5ZjhjLi43NjQxNDRhIDEwMDY0NAotLS0gYS9tb3pp
bGxhL3NlY3VyaXR5L25zcy9saWIvc3NsL3NzbHNvY2suYworKysgYi9tb3ppbGxhL3NlY3VyaXR5
L25zcy9saWIvc3NsL3NzbHNvY2suYwpAQCAtMTgzLDYgKzE4Myw3IEBAIHN0YXRpYyBzc2xPcHRp
b25zIHNzbF9kZWZhdWx0cyA9IHsKICAgICBQUl9GQUxTRSwgICAvKiBlbmFibGVEZWZsYXRlICAg
ICAgKi8KICAgICAwLCAgICAgICAgICAvKiBlbmFibGVSZW5lZ290aWF0aW9uIChkZWZhdWx0OiBu
ZXZlcikgKi8KICAgICBQUl9GQUxTRSwgICAvKiByZXF1aXJlU2FmZU5lZ290aWF0aW9uICovCisg
ICAgUFJfRkFMU0UsICAgLyogZW5hYmxlQ3V0VGhyb3VnaCAgICovCiB9OwogCiBzc2xTZXNzaW9u
SURMb29rdXBGdW5jICBzc2xfc2lkX2xvb2t1cDsKQEAgLTcyMCw2ICs3MjEsMTAgQEAgU1NMX09w
dGlvblNldChQUkZpbGVEZXNjICpmZCwgUFJJbnQzMiB3aGljaCwgUFJCb29sIG9uKQogCXNzLT5v
cHQucmVxdWlyZVNhZmVOZWdvdGlhdGlvbiA9IG9uOwogCWJyZWFrOwogCisgICAgICBjYXNlIFNT
TF9FTkFCTEVfQ1VUX1RIUk9VR0g6CisJc3MtPm9wdC5lbmFibGVDdXRUaHJvdWdoID0gb247CisJ
YnJlYWs7CisKICAgICAgIGRlZmF1bHQ6CiAJUE9SVF9TZXRFcnJvcihTRUNfRVJST1JfSU5WQUxJ
RF9BUkdTKTsKIAlydiA9IFNFQ0ZhaWx1cmU7CkBAIC03ODMsNiArNzg4LDcgQEAgU1NMX09wdGlv
bkdldChQUkZpbGVEZXNjICpmZCwgUFJJbnQzMiB3aGljaCwgUFJCb29sICpwT24pCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gPSBzcy0+b3B0LmVuYWJsZVJlbmVnb3RpYXRp
b247IGJyZWFrOwogICAgIGNhc2UgU1NMX1JFUVVJUkVfU0FGRV9ORUdPVElBVElPTjogCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gPSBzcy0+b3B0LnJlcXVpcmVTYWZlTmVn
b3RpYXRpb247IGJyZWFrOworICAgIGNhc2UgU1NMX0VOQUJMRV9DVVRfVEhST1VHSDogIG9uID0g
c3MtPm9wdC5lbmFibGVDdXRUaHJvdWdoOyAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKIAlQT1JU
X1NldEVycm9yKFNFQ19FUlJPUl9JTlZBTElEX0FSR1MpOwpAQCAtODMzLDYgKzgzOSw3IEBAIFNT
TF9PcHRpb25HZXREZWZhdWx0KFBSSW50MzIgd2hpY2gsIFBSQm9vbCAqcE9uKQogICAgIGNhc2Ug
U1NMX1JFUVVJUkVfU0FGRV9ORUdPVElBVElPTjogCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb24gPSBzc2xfZGVmYXVsdHMucmVxdWlyZVNhZmVOZWdvdGlhdGlvbjsgCiAJCQkJ
ICBicmVhazsKKyAgICBjYXNlIFNTTF9FTkFCTEVfQ1VUX1RIUk9VR0g6ICBvbiA9IHNzbF9kZWZh
dWx0cy5lbmFibGVDdXRUaHJvdWdoOyAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKIAlQT1JUX1Nl
dEVycm9yKFNFQ19FUlJPUl9JTlZBTElEX0FSR1MpOwpAQCAtOTc2LDYgKzk4MywxMCBAQCBTU0xf
T3B0aW9uU2V0RGVmYXVsdChQUkludDMyIHdoaWNoLCBQUkJvb2wgb24pCiAJc3NsX2RlZmF1bHRz
LnJlcXVpcmVTYWZlTmVnb3RpYXRpb24gPSBvbjsKIAlicmVhazsKIAorICAgICAgY2FzZSBTU0xf
RU5BQkxFX0NVVF9USFJPVUdIOgorCXNzbF9kZWZhdWx0cy5lbmFibGVDdXRUaHJvdWdoID0gb247
CisJYnJlYWs7CisKICAgICAgIGRlZmF1bHQ6CiAJUE9SVF9TZXRFcnJvcihTRUNfRVJST1JfSU5W
QUxJRF9BUkdTKTsKIAlyZXR1cm4gU0VDRmFpbHVyZTsKZGlmZiAtLWdpdCBhL21vemlsbGEvc2Vj
dXJpdHkvbnNzL3Rlc3RzL3NzbC9zc2xzdHJlc3MudHh0IGIvbW96aWxsYS9zZWN1cml0eS9uc3Mv
dGVzdHMvc3NsL3NzbHN0cmVzcy50eHQKaW5kZXggMjI0ZDJiZC4uY2RiNWUwOCAxMDA2NDQKLS0t
IGEvbW96aWxsYS9zZWN1cml0eS9uc3MvdGVzdHMvc3NsL3NzbHN0cmVzcy50eHQKKysrIGIvbW96
aWxsYS9zZWN1cml0eS9uc3MvdGVzdHMvc3NsL3NzbHN0cmVzcy50eHQKQEAgLTQyLDkgKzQyLDEx
IEBACiAgIG5vRUNDICAgICAwICAgICAgXyAgICAgICAgIC1jXzEwMDBfLUNfQSAgICAgICAgICAg
ICAgICAgIFN0cmVzcyBTU0wyIFJDNCAxMjggd2l0aCBNRDUKICAgbm9FQ0MgICAgIDAgICAgICBf
ICAgICAgICAgLWNfMTAwMF8tQ19jXy1UICAgICAgICAgICAgICAgU3RyZXNzIFNTTDMgUkM0IDEy
OCB3aXRoIE1ENQogICBub0VDQyAgICAgMCAgICAgIF8gICAgICAgICAtY18xMDAwXy1DX2MgICAg
ICAgICAgICAgICAgICBTdHJlc3MgVExTICBSQzQgMTI4IHdpdGggTUQ1CisgIG5vRUNDICAgICAw
ICAgICAgXyAgICAgICAgIC1jXzEwMDBfLUNfY18taCAgICAgICAgICAgICAgIFN0cmVzcyBUTFMg
IFJDNCAxMjggd2l0aCBNRDUgKGN1dCB0aHJvdWdoKQogICBub0VDQyAgICAgMCAgICAgIC11ICAg
ICAgICAtMl8tY18xMDAwXy1DX2NfLXUgICAgICAgICAgICBTdHJlc3MgVExTICBSQzQgMTI4IHdp
dGggTUQ1IChzZXNzaW9uIHRpY2tldCkKICAgbm9FQ0MgICAgIDAgICAgICAteiAgICAgICAgLTJf
LWNfMTAwMF8tQ19jXy16ICAgICAgICAgICAgU3RyZXNzIFRMUyAgUkM0IDEyOCB3aXRoIE1ENSAo
Y29tcHJlc3Npb24pCiAgIG5vRUNDICAgICAwICAgICAgLXVfLXogICAgIC0yXy1jXzEwMDBfLUNf
Y18tdV8teiAgICAgICAgIFN0cmVzcyBUTFMgIFJDNCAxMjggd2l0aCBNRDUgKHNlc3Npb24gdGlj
a2V0LCBjb21wcmVzc2lvbikKKyAgbm9FQ0MgICAgIDAgICAgICAtdV8teiAgICAgLTJfLWNfMTAw
MF8tQ19jXy11Xy16Xy1oICAgICAgU3RyZXNzIFRMUyAgUkM0IDEyOCB3aXRoIE1ENSAoc2Vzc2lv
biB0aWNrZXQsIGNvbXByZXNzaW9uLCBjdXQgdGhyb3VnaCkKIAogIwogIyBhZGQgY2xpZW50IGF1
dGggdmVyc2lvbnMgaGVyZS4uLgpAQCAtNTQsNyArNTYsOSBAQAogICBub0VDQyAgICAgMCAgICAg
IC1yXy1yICAgICAtY18xMDBfLUNfY18tTl8tbl9UZXN0VXNlciAgICBTdHJlc3MgVExTIFJDNCAx
Mjggd2l0aCBNRDUgKG5vIHJldXNlLCBjbGllbnQgYXV0aCkKICAgbm9FQ0MgICAgIDAgICAgICAt
cl8tcl8tdSAgLTJfLWNfMTAwXy1DX2NfLW5fVGVzdFVzZXJfLXUgU3RyZXNzIFRMUyBSQzQgMTI4
IHdpdGggTUQ1IChzZXNzaW9uIHRpY2tldCwgY2xpZW50IGF1dGgpCiAgIG5vRUNDICAgICAwICAg
ICAgLXJfLXJfLXogIC0yXy1jXzEwMF8tQ19jXy1uX1Rlc3RVc2VyXy16IFN0cmVzcyBUTFMgUkM0
IDEyOCB3aXRoIE1ENSAoY29tcHJlc3Npb24sIGNsaWVudCBhdXRoKQorICBub0VDQyAgICAgMCAg
ICAgIC1yXy1yXy16ICAtMl8tY18xMDBfLUNfY18tbl9UZXN0VXNlcl8tel8taCBTdHJlc3MgVExT
IFJDNCAxMjggd2l0aCBNRDUgKGNvbXByZXNzaW9uLCBjbGllbnQgYXV0aCwgY3V0IHRocm91Z2gp
CiAgIG5vRUNDICAgICAwICAgLXJfLXJfLXVfLXogIC0yXy1jXzEwMF8tQ19jXy1uX1Rlc3RVc2Vy
Xy11Xy16IFN0cmVzcyBUTFMgUkM0IDEyOCB3aXRoIE1ENSAoc2Vzc2lvbiB0aWNrZXQsIGNvbXBy
ZXNzaW9uLCBjbGllbnQgYXV0aCkKKyAgbm9FQ0MgICAgIDAgICAtcl8tcl8tdV8teiAgLTJfLWNf
MTAwXy1DX2NfLW5fVGVzdFVzZXJfLXVfLXpfLWggU3RyZXNzIFRMUyBSQzQgMTI4IHdpdGggTUQ1
IChzZXNzaW9uIHRpY2tldCwgY29tcHJlc3Npb24sIGNsaWVudCBhdXRoLCBjdXQgdGhyb3VnaCkK
IAogIwogIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEVDQyBjaXBoZXJzICMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44504</attachid>
            <date>2009-12-08 17:57:17 -0800</date>
            <delta_ts>2009-12-28 23:19:22 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3506</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNThjZmNjLi5hMTJjZTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMTIt
MDggIEFkYW0gTGFuZ2xleSAgPGFnbEBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhhdCBhbiBpbWFnZSdzIHNpemUgaXMg
dmFsaWQgYmVmb3JlIHJlYWRpbmcgaXQuCisKKyAgICAgICAgUHJldmlvdXNseSwgYW4gaW1hZ2Ug
dGhhdCBmYWlsZWQgdG8gbG9hZCAobV9mYWlsZWQgPT0gdHJ1ZSkgd291bGQKKyAgICAgICAgdHJp
Z2dlciBhbiBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIFdlYktpdCB0cmllZCB0byBnZXQgaXRzIHNp
emUuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTc2CisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0
YWlsP2lkPTI4NTY2CisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9yZXNvdXJjZXMvc2l6ZS1mYWls
dXJlLmdpZjogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvc2l6ZS1mYWlsdXJlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvc2l6ZS1mYWlsdXJlLmh0bWw6
IEFkZGVkLgorCiAyMDA5LTEyLTA4ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBy
aW0uY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4gU2tpcCBhbm90aGVyIGZhaWxpbmcgbWVk
aWEgdGVzdCwgdGhhdCBJIGFscmVhZHkgbWVudGlvbmVkIGluIHRoZSBidWcgcmVwb3J0LgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3NpemUtZmFpbHVyZS5n
aWYgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvc2l6ZS1mYWlsdXJlLmdpZgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmI3ZGRmCkJpbmFyeSBmaWxlcyAv
ZGV2L251bGwgYW5kIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3NpemUtZmFp
bHVyZS5naWYgZGlmZmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9zaXpl
LWZhaWx1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvc2l6ZS1mYWls
dXJlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTQ0
ZTdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvc2l6ZS1mYWls
dXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKKworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9pbWFnZXMvc2l6ZS1mYWlsdXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy9zaXplLWZhaWx1cmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4yOGQ0OGRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
c2l6ZS1mYWlsdXJlLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+CisgIDxoZWFkPgorICAg
IDxzY3JpcHQ+CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgPC9zY3JpcHQ+CisKKyAg
IDwvaGVhZD4KKyAgIDxib2R5PgorICAgICA8IS0tIFRoaXMgcHJldmlvdXNseSB0cmllZCB0byBy
ZWFkIHRoZSBzaXplIG9mIHRoZSBpbWFnZSB3aGVuCisgICAgICAgICAgSW1hZ2VEZWNvZGVyOjpt
X2ZhaWxlZCB3YXMgdHJ1ZSwgdHJpZ2dlcmluZyBlaXRoZXIgYW4gYXNzZXJ0IG9yIGEKKyAgICAg
ICAgICByZWFkIG9mIHJhbmRvbSBtZW1vcnkuIFRoYW5rcyB0byBSb2JlcnQgU3dpZWNraSBmb3Ig
dGhlIHRlc3QgY2FzZS4gLS0+CisgICAgIDxpbWcgc3JjPSJyZXNvdXJjZXMvc2l6ZS1mYWlsdXJl
LmdpZiI+CisgICAgIDxwPlBBU1M8L3A+CisgICA8L2JvZHk+CisgPC9odG1sPgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1YjgyZTgzLi5h
ZmE3ODg0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDA5LTEyLTA4ICBBZGFtIExhbmdsZXkgIDxhZ2xAZ29v
Z2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0IHRoYXQgYW4gaW1hZ2UncyBzaXplIGlzIHZhbGlkIGJlZm9yZSByZWFkaW5nIGl0Lgor
CisgICAgICAgIFByZXZpb3VzbHksIGFuIGltYWdlIHRoYXQgZmFpbGVkIHRvIGxvYWQgKG1fZmFp
bGVkID09IHRydWUpIHdvdWxkCisgICAgICAgIHRyaWdnZXIgYW4gYXNzZXJ0aW9uIGZhaWx1cmUg
d2hlbiBXZWJLaXQgdHJpZWQgdG8gZ2V0IGl0cyBzaXplLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjE3NgorICAgICAgICBodHRwOi8vY29kZS5n
b29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0yODU2NgorCisgICAgICAgIFRl
c3Q6IGZhc3QvaW1hZ2VzL3NpemUtZmFpbHVyZS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6
Y3JlYXRlRnJhbWVBdEluZGV4KToKKwogMjAwOS0xMi0wOCAgU3RldmUgRmFsa2VuYnVyZyAgPHNm
YWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCmluZGV4IGJmN2FlMjEuLjI0NGYz
ZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCkBAIC0xMzEs
NyArMTMxLDcgQEAgTmF0aXZlSW1hZ2VQdHIgSW1hZ2VTb3VyY2U6OmNyZWF0ZUZyYW1lQXRJbmRl
eChzaXplX3QgaW5kZXgpCiAKICAgICAvLyBaZXJvLWhlaWdodCBpbWFnZXMgY2FuIGNhdXNlIHBy
b2JsZW1zIGZvciBzb21lIHBvcnRzLiAgSWYgd2UgaGF2ZSBhbgogICAgIC8vIGVtcHR5IGltYWdl
IGRpbWVuc2lvbiwganVzdCBiYWlsLgotICAgIGlmIChzaXplKCkuaXNFbXB0eSgpKQorICAgIGlm
ICghaXNTaXplQXZhaWxhYmxlKCkgfHwgc2l6ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
IDA7CiAKICAgICAvLyBSZXR1cm4gdGhlIGJ1ZmZlciBjb250ZW50cyBhcyBhIG5hdGl2ZSBpbWFn
ZS4gIEZvciBzb21lIHBvcnRzLCB0aGUgZGF0YQo=
</data>
<flag name="review"
          id="26374"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="27658"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>