<?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>132478</bug_id>
          
          <creation_ts>2014-05-02 12:23:23 -0700</creation_ts>
          <short_desc>Don&apos;t abuse Blob deserialization constructor in WebSocket</short_desc>
          <delta_ts>2014-05-02 12:44:38 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1006086</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-02 12:23:23 -0700</bug_when>
    <thetext>WebSocket makes a copy of Blob for no reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006089</commentid>
    <comment_count>1</comment_count>
      <attachid>230683</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-02 12:27:46 -0700</bug_when>
    <thetext>Created attachment 230683
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006098</commentid>
    <comment_count>2</comment_count>
      <attachid>230683</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-05-02 12:36:03 -0700</bug_when>
    <thetext>Comment on attachment 230683
proposed patch

I would keep this a reference (you can take off the const).  Otherwise, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006102</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-02 12:44:38 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r168183&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230683</attachid>
            <date>2014-05-02 12:27:46 -0700</date>
            <delta_ts>2014-05-02 12:36:03 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>BlobDeserialize.txt</filename>
            <type>text/plain</type>
            <size>13890</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE0LTA1LTAyICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IGFidXNlIEJsb2Ig
ZGVzZXJpYWxpemF0aW9uIGNvbnN0cnVjdG9yIGluIFdlYlNvY2tldAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyNDc4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpz
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmVucXVldWVCbG9iRnJh
bWUpOiBUaGlzIGlzIHRoZSBpbXBvcnRhbnQgY2hhbmdlIC0KKyAgICAgICAgQmxvYjo6Y3JlYXRl
IHdhcyBjYWxsZWQgZm9yIG5vIHJlYXNvbi4gSWYgdGhlIGJsb2IgY2FtZSBmcm9tIGEgd29ya2Vy
LCBpdCB3YXMKKyAgICAgICAgYWxyZWFkeSBjbG9uZWQgZm9yIGNyb3NzLXRocmVhZCBtZXNzYWdp
bmcsIG90aGVyd2lzZSB0aGVyZSBpcyBubyByZWFzb24gdG8gbWFrZQorICAgICAgICBhIG5ldyBv
bmUuCisKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJsb2I6
OmRlc2VyaWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkJsb2I6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogZmlsZWFwaS9GaWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxlOjpkZXNl
cmlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlOjpjcmVhdGUpOiBEZWxldGVkLgorICAg
ICAgICBSZW5hbWVkIGEgc3BlY2lhbCBjYXNlIG9mICJjcmVhdGUiIGZ1bmN0aW9uIHRvIGF2b2lk
IGV4cGxhaW5pbmcgd2hhdCBpdCBpcyBmb3IuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6c2VuZCk6
CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6
OnNlbmQpOiBQcmludCBhIGZ1bGwgVVJMIGluIExPRygpLAorICAgICAgICBub3Qgb25lIHNob3J0
ZW5lZCB0byAxMDI0IGNoYXJhY3RlcnMuCisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbDo6UGVlcjo6c2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6bWFpblRocmVhZFNlbmRCbG9iKToKKyAgICAg
ICAgKFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpCcmlkZ2U6OnNl
bmQpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZEZpbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRUZXJtaW5hbCk6CisKIDIw
MTQtMDUtMDIgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBWDogV0syOiBpT1Mgd2ViIHBhZ2Ugc2Nyb2xsaW5nIGRvZXNuJ3Qgd29yayB3aXRoIFZvaWNl
T3ZlcgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1RocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgJKHJldmlzaW9uIDE2ODEyNikK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFN0cmluZyBleHRlbnNpb25zKCkgPSAwOyAvLyBXaWxsIGJlIGF2YWlsYWJsZSBhZnRl
ciBkaWRDb25uZWN0KCkgY2FsbGJhY2sgaXMgaW52b2tlZC4KICAgICB2aXJ0dWFsIFNlbmRSZXN1
bHQgc2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpID0gMDsKICAgICB2aXJ0dWFsIFNlbmRSZXN1
bHQgc2VuZChjb25zdCBKU0M6OkFycmF5QnVmZmVyJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5z
aWduZWQgYnl0ZUxlbmd0aCkgPSAwOwotICAgIHZpcnR1YWwgU2VuZFJlc3VsdCBzZW5kKGNvbnN0
IEJsb2ImKSA9IDA7CisgICAgdmlydHVhbCBTZW5kUmVzdWx0IHNlbmQoQmxvYiopID0gMDsKICAg
ICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyZWRBbW91bnQoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGNsb3NlKGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikgPSAwOwog
ICAgIC8vIExvZyB0aGUgcmVhc29uIHRleHQgYW5kIGNsb3NlIHRoZSBjb25uZWN0aW9uLiBXaWxs
IGNhbGwgZGlkQ2xvc2UoKS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuY3BwCShyZXZpc2lvbiAxNjgxMjYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUx
LDcgKzM1MSw2IEBAIHZvaWQgV2ViU29ja2V0OjpzZW5kKEFycmF5QnVmZmVyVmlldyogYXIKIHZv
aWQgV2ViU29ja2V0OjpzZW5kKEJsb2IqIGJpbmFyeURhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ewogICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0ICVwIHNlbmQoKSBTZW5kaW5nIEJsb2IgJyVz
JyIsIHRoaXMsIGJpbmFyeURhdGEtPnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xlbmd0
aCgpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEFTU0VSVChiaW5hcnlEYXRhKTsKICAgICBpZiAobV9z
dGF0ZSA9PSBDT05ORUNUSU5HKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAg
ICAgICAgIHJldHVybjsKQEAgLTM2Myw3ICszNjIsNyBAQCB2b2lkIFdlYlNvY2tldDo6c2VuZChC
bG9iKiBiaW5hcnlEYXRhLCBFCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgQVNTRVJUKG1f
Y2hhbm5lbCk7Ci0gICAgbV9jaGFubmVsLT5zZW5kKCpiaW5hcnlEYXRhKTsKKyAgICBtX2NoYW5u
ZWwtPnNlbmQoYmluYXJ5RGF0YSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0OjpjbG9zZShpbnQgY29k
ZSwgY29uc3QgU3RyaW5nJiByZWFzb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmNwcAkocmV2aXNpb24gMTY4MTI2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsOSArMTUzLDkg
QEAgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlNlbmRSZXN1bHQgVwogICAgIHJldHVybiBU
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6U2VuZFN1Y2Nlc3M7CiB9CiAKLVRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsOjpTZW5kUmVzdWx0IFdlYlNvY2tldENoYW5uZWw6OnNlbmQoY29uc3Qg
QmxvYiYgYmluYXJ5RGF0YSkKK1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpTZW5kUmVzdWx0
IFdlYlNvY2tldENoYW5uZWw6OnNlbmQoQmxvYiogYmluYXJ5RGF0YSkKIHsKLSAgICBMT0coTmV0
d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgc2VuZCgpIFNlbmRpbmcgQmxvYiAnJXMnIiwgdGhp
cywgYmluYXJ5RGF0YS51cmwoKS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKS51dGY4
KCkuZGF0YSgpKTsKKyAgICBMT0coTmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgc2VuZCgp
IFNlbmRpbmcgQmxvYiAnJXMnIiwgdGhpcywgYmluYXJ5RGF0YS0+dXJsKCkuc3RyaW5nKCkudXRm
OCgpLmRhdGEoKSk7CiAgICAgZW5xdWV1ZUJsb2JGcmFtZShXZWJTb2NrZXRGcmFtZTo6T3BDb2Rl
QmluYXJ5LCBiaW5hcnlEYXRhKTsKICAgICBwcm9jZXNzT3V0Z29pbmdGcmFtZVF1ZXVlKCk7CiAg
ICAgcmV0dXJuIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpTZW5kU3VjY2VzczsKQEAgLTY5
NSwxMyArNjk1LDEzIEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZW5xdWV1ZVJhd0ZyYW1lKFcK
ICAgICBtX291dGdvaW5nRnJhbWVRdWV1ZS5hcHBlbmQoZnJhbWUucmVsZWFzZSgpKTsKIH0KIAot
dm9pZCBXZWJTb2NrZXRDaGFubmVsOjplbnF1ZXVlQmxvYkZyYW1lKFdlYlNvY2tldEZyYW1lOjpP
cENvZGUgb3BDb2RlLCBjb25zdCBCbG9iJiBibG9iKQordm9pZCBXZWJTb2NrZXRDaGFubmVsOjpl
bnF1ZXVlQmxvYkZyYW1lKFdlYlNvY2tldEZyYW1lOjpPcENvZGUgb3BDb2RlLCBCbG9iKiBibG9i
KQogewogICAgIEFTU0VSVChtX291dGdvaW5nRnJhbWVRdWV1ZVN0YXR1cyA9PSBPdXRnb2luZ0Zy
YW1lUXVldWVPcGVuKTsKICAgICBPd25QdHI8UXVldWVkRnJhbWU+IGZyYW1lID0gYWRvcHRQdHIo
bmV3IFF1ZXVlZEZyYW1lKTsKICAgICBmcmFtZS0+b3BDb2RlID0gb3BDb2RlOwogICAgIGZyYW1l
LT5mcmFtZVR5cGUgPSBRdWV1ZWRGcmFtZVR5cGVCbG9iOwotICAgIGZyYW1lLT5ibG9iRGF0YSA9
IEJsb2I6OmNyZWF0ZShibG9iLnVybCgpLCBibG9iLnR5cGUoKSwgYmxvYi5zaXplKCkpOworICAg
IGZyYW1lLT5ibG9iRGF0YSA9IGJsb2I7CiAgICAgbV9vdXRnb2luZ0ZyYW1lUXVldWUuYXBwZW5k
KGZyYW1lLnJlbGVhc2UoKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAkocmV2aXNpb24gMTY4MTI2KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAko
d29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJp
bmcgZXh0ZW5zaW9ucygpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWw6OlNlbmRSZXN1bHQgc2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlNlbmRSZXN1bHQgc2Vu
ZChjb25zdCBKU0M6OkFycmF5QnVmZmVyJiwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQg
Ynl0ZUxlbmd0aCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbDo6U2VuZFJlc3VsdCBzZW5kKGNvbnN0IEJsb2ImKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpTZW5kUmVzdWx0IHNlbmQoQmxvYiopIG92ZXJy
aWRlOwogICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBidWZmZXJlZEFtb3VudCgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiBy
ZWFzb24pIG92ZXJyaWRlOyAvLyBTdGFydCBjbG9zaW5nIGhhbmRzaGFrZS4KICAgICB2aXJ0dWFs
IHZvaWQgZmFpbChjb25zdCBTdHJpbmcmIHJlYXNvbikgb3ZlcnJpZGU7CkBAIC0xNjEsNyArMTYx
LDcgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgZW5xdWV1ZVRleHRGcmFtZShjb25zdCBD
U3RyaW5nJik7CiAgICAgdm9pZCBlbnF1ZXVlUmF3RnJhbWUoV2ViU29ja2V0RnJhbWU6Ok9wQ29k
ZSwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgpOwotICAgIHZvaWQgZW5xdWV1
ZUJsb2JGcmFtZShXZWJTb2NrZXRGcmFtZTo6T3BDb2RlLCBjb25zdCBCbG9iJik7CisgICAgdm9p
ZCBlbnF1ZXVlQmxvYkZyYW1lKFdlYlNvY2tldEZyYW1lOjpPcENvZGUsIEJsb2IqKTsKIAogICAg
IHZvaWQgcHJvY2Vzc091dGdvaW5nRnJhbWVRdWV1ZSgpOwogICAgIHZvaWQgYWJvcnRPdXRnb2lu
Z0ZyYW1lUXVldWUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9X
b3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsLmNwcAkocmV2aXNpb24gMTY4MTI2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtOTgsNyArOTgsNyBAQCBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6U2VuZFJlc3Vs
dCBXCiAgICAgcmV0dXJuIG1fYnJpZGdlLT5zZW5kKGJpbmFyeURhdGEsIGJ5dGVPZmZzZXQsIGJ5
dGVMZW5ndGgpOwogfQogCi1UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6U2VuZFJlc3VsdCBX
b3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6c2VuZChjb25zdCBCbG9iJiBiaW5hcnlE
YXRhKQorVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlNlbmRSZXN1bHQgV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWw6OnNlbmQoQmxvYiogYmluYXJ5RGF0YSkKIHsKICAgICBpZiAo
IW1fYnJpZGdlKQogICAgICAgICByZXR1cm4gVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlNl
bmRGYWlsOwpAQCAtMTkyLDcgKzE5Miw3IEBAIHZvaWQgV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWw6OlAKICAgICBtX2xvYWRlclByb3h5LnBvc3RUYXNrRm9yTW9kZVRvV29ya2VyR2xv
YmFsU2NvcGUoY3JlYXRlQ2FsbGJhY2tUYXNrKCZ3b3JrZXJHbG9iYWxTY29wZURpZFNlbmQsIG1f
d29ya2VyQ2xpZW50V3JhcHBlciwgc2VuZFJlcXVlc3RSZXN1bHQpLCBtX3Rhc2tNb2RlKTsKIH0K
IAotdm9pZCBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6UGVlcjo6c2VuZChjb25z
dCBCbG9iJiBiaW5hcnlEYXRhKQordm9pZCBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bDo6UGVlcjo6c2VuZChCbG9iKiBiaW5hcnlEYXRhKQogewogICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CiAgICAgaWYgKCFtX21haW5XZWJTb2NrZXRDaGFubmVsIHx8ICFtX3dvcmtlckNsaWVu
dFdyYXBwZXIpCkBAIC00MzgsOCArNDM4LDggQEAgdm9pZCBXb3JrZXJUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbDo6bQogICAgIEFTU0VSVF9VTlVTRUQoY29udGV4dCwgY29udGV4dC0+aXNEb2N1
bWVudCgpKTsKICAgICBBU1NFUlQocGVlcik7CiAKLSAgICBSZWZQdHI8QmxvYj4gYmxvYiA9IEJs
b2I6OmNyZWF0ZSh1cmwsIHR5cGUsIHNpemUpOwotICAgIHBlZXItPnNlbmQoKmJsb2IpOworICAg
IFJlZlB0cjxCbG9iPiBibG9iID0gQmxvYjo6ZGVzZXJpYWxpemUodXJsLCB0eXBlLCBzaXplKTsK
KyAgICBwZWVyLT5zZW5kKGJsb2IuZ2V0KCkpOwogfQogCiBUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbDo6U2VuZFJlc3VsdCBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6QnJpZGdl
OjpzZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKQEAgLTQ3NCwxMiArNDc0LDEyIEBAIFRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsOjpTZW5kUmVzdWx0IFcKICAgICByZXR1cm4gY2xpZW50V3Jh
cHBlci0+c2VuZFJlcXVlc3RSZXN1bHQoKTsKIH0KIAotVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWw6OlNlbmRSZXN1bHQgV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OkJyaWRnZTo6
c2VuZChjb25zdCBCbG9iJiBiaW5hcnlEYXRhKQorVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6
OlNlbmRSZXN1bHQgV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OkJyaWRnZTo6c2Vu
ZChCbG9iKiBiaW5hcnlEYXRhKQogewogICAgIGlmICghbV93b3JrZXJDbGllbnRXcmFwcGVyIHx8
ICFtX3BlZXIpCiAgICAgICAgIHJldHVybiBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6U2Vu
ZEZhaWw7CiAgICAgc2V0TWV0aG9kTm90Q29tcGxldGVkKCk7Ci0gICAgbV9sb2FkZXJQcm94eS5w
b3N0VGFza1RvTG9hZGVyKGNyZWF0ZUNhbGxiYWNrVGFzaygmV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw6Om1haW5UaHJlYWRTZW5kQmxvYiwgQWxsb3dDcm9zc1RocmVhZEFjY2Vzcyht
X3BlZXIpLCBiaW5hcnlEYXRhLnVybCgpLCBiaW5hcnlEYXRhLnR5cGUoKSwgYmluYXJ5RGF0YS5z
aXplKCkpKTsKKyAgICBtX2xvYWRlclByb3h5LnBvc3RUYXNrVG9Mb2FkZXIoY3JlYXRlQ2FsbGJh
Y2tUYXNrKCZXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6bWFpblRocmVhZFNlbmRC
bG9iLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKG1fcGVlciksIGJpbmFyeURhdGEtPnVybCgpLCBi
aW5hcnlEYXRhLT50eXBlKCksIGJpbmFyeURhdGEtPnNpemUoKSkpOwogICAgIFJlZjxCcmlkZ2U+
IHByb3RlY3QoKnRoaXMpOwogICAgIHdhaXRGb3JNZXRob2RDb21wbGV0aW9uKCk7CiAgICAgVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyKiBjbGllbnRXcmFwcGVyID0gbV93
b3JrZXJDbGllbnRXcmFwcGVyLmdldCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmgJKHJldmlzaW9uIDE2ODEyNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBleHRl
bnNpb25zKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bDo6U2VuZFJlc3VsdCBzZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgb3ZlcnJpZGU7CiAgICAg
dmlydHVhbCBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6U2VuZFJlc3VsdCBzZW5kKGNvbnN0
IEpTQzo6QXJyYXlCdWZmZXImLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBieXRlTGVu
Z3RoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpT
ZW5kUmVzdWx0IHNlbmQoY29uc3QgQmxvYiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWw6OlNlbmRSZXN1bHQgc2VuZChCbG9iKikgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGJ1ZmZlcmVkQW1vdW50KCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pIG92
ZXJyaWRlOwpAQCAtODksNyArODksNyBAQCBwdWJsaWM6CiAgICAgICAgIHZvaWQgY29ubmVjdChj
b25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsKICAgICAgICAgdm9pZCBzZW5kKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSk7CiAgICAgICAgIHZvaWQgc2VuZChjb25zdCBKU0M6OkFycmF5
QnVmZmVyJik7Ci0gICAgICAgIHZvaWQgc2VuZChjb25zdCBCbG9iJik7CisgICAgICAgIHZvaWQg
c2VuZChCbG9iKik7CiAgICAgICAgIHZvaWQgYnVmZmVyZWRBbW91bnQoKTsKICAgICAgICAgdm9p
ZCBjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pOwogICAgICAgICB2b2lkIGZh
aWwoY29uc3QgU3RyaW5nJiByZWFzb24pOwpAQCAtMTM1LDcgKzEzNSw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIHZvaWQgY29ubmVjdChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsK
ICAgICAgICAgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OlNlbmRSZXN1bHQgc2VuZChjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpOwogICAgICAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6
U2VuZFJlc3VsdCBzZW5kKGNvbnN0IEpTQzo6QXJyYXlCdWZmZXImLCB1bnNpZ25lZCBieXRlT2Zm
c2V0LCB1bnNpZ25lZCBieXRlTGVuZ3RoKTsKLSAgICAgICAgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWw6OlNlbmRSZXN1bHQgc2VuZChjb25zdCBCbG9iJik7CisgICAgICAgIFRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsOjpTZW5kUmVzdWx0IHNlbmQoQmxvYiopOwogICAgICAgICB1bnNpZ25l
ZCBsb25nIGJ1ZmZlcmVkQW1vdW50KCk7CiAgICAgICAgIHZvaWQgY2xvc2UoaW50IGNvZGUsIGNv
bnN0IFN0cmluZyYgcmVhc29uKTsKICAgICAgICAgdm9pZCBmYWlsKGNvbnN0IFN0cmluZyYgcmVh
c29uKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcAkocmV2aXNpb24gMTY4MTI2KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTczMiw3ICsxNzMyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYgKCFyZWFkU3RyaW5nRGF0YSh0
eXBlKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBpZiAobV9pc0RPTUdsb2JhbE9i
amVjdCkKLSAgICAgICAgICAgIGZpbGUgPSBGaWxlOjpjcmVhdGUocGF0aC0+c3RyaW5nKCksIFVS
TChVUkwoKSwgdXJsLT5zdHJpbmcoKSksIHR5cGUtPnN0cmluZygpKTsKKyAgICAgICAgICAgIGZp
bGUgPSBGaWxlOjpkZXNlcmlhbGl6ZShwYXRoLT5zdHJpbmcoKSwgVVJMKFVSTCgpLCB1cmwtPnN0
cmluZygpKSwgdHlwZS0+c3RyaW5nKCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
QEAgLTIyMzEsNyArMjIzMSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWUoKTsKICAgICAgICAgICAgIGlmICghbV9pc0RPTUdsb2JhbE9iamVjdCkKICAgICAgICAg
ICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgICAgICAgICByZXR1cm4gZ2V0SlNWYWx1ZShC
bG9iOjpjcmVhdGUoVVJMKFVSTCgpLCB1cmwtPnN0cmluZygpKSwgdHlwZS0+c3RyaW5nKCksIHNp
emUpLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybiBnZXRKU1ZhbHVlKEJsb2I6OmRlc2VyaWFs
aXplKFVSTChVUkwoKSwgdXJsLT5zdHJpbmcoKSksIHR5cGUtPnN0cmluZygpLCBzaXplKS5nZXQo
KSk7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBTdHJpbmdUYWc6IHsKICAgICAgICAgICAgIENh
Y2hlZFN0cmluZ1JlZiBjYWNoZWRTdHJpbmc7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0Jsb2IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuaAkocmV2
aXNpb24gMTY4MTI2KQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU1LDggKzU1LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEJsb2Ioc3RkOjptb3ZlKGJsb2JEYXRhKSkpOwogICAgIH0KIAotICAgIC8vIEZvciBkZXNl
cmlhbGl6YXRpb24uCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8QmxvYj4gY3JlYXRlKGNvbnN0IFVS
TCYgc3JjVVJMLCBjb25zdCBTdHJpbmcmIHR5cGUsIGxvbmcgbG9uZyBzaXplKQorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEJsb2I+IGRlc2VyaWFsaXplKGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBT
dHJpbmcmIHR5cGUsIGxvbmcgbG9uZyBzaXplKQogICAgIHsKICAgICAgICAgQVNTRVJUKEJsb2I6
OmlzTm9ybWFsaXplZENvbnRlbnRUeXBlKHR5cGUpKTsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBCbG9iKHNyY1VSTCwgdHlwZSwgc2l6ZSkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmgJ
KHJldmlzaW9uIDE2ODEyNikKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSw4ICs0OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBGaWxlKHBhdGgsIHBvbGljeSkpOwogICAgIH0KIAotICAgIC8vIEZvciBkZXNlcmlh
bGl6YXRpb24uCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8RmlsZT4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYgcGF0aCwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFN0cmluZyYgdHlwZSkKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxGaWxlPiBkZXNlcmlhbGl6ZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0
IFVSTCYgc3JjVVJMLCBjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgewogICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEZpbGUocGF0aCwgc3JjVVJMLCB0eXBlKSk7CiAgICAgfQpAQCAtNzYsMTAg
Kzc1LDEwIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBGaWxlKGNvbnN0IFN0cmluZyYgcGF0
aCwgQ29udGVudFR5cGVMb29rdXBQb2xpY3kpOworICAgIEZpbGUoY29uc3QgU3RyaW5nJiBwYXRo
LCBjb25zdCBTdHJpbmcmIG5hbWUsIENvbnRlbnRUeXBlTG9va3VwUG9saWN5KTsKIAogICAgIC8v
IEZvciBkZXNlcmlhbGl6YXRpb24uCiAgICAgRmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0
IFVSTCYgc3JjVVJMLCBjb25zdCBTdHJpbmcmIHR5cGUpOwotICAgIEZpbGUoY29uc3QgU3RyaW5n
JiBwYXRoLCBjb25zdCBTdHJpbmcmIG5hbWUsIENvbnRlbnRUeXBlTG9va3VwUG9saWN5KTsKIAog
ICAgIFN0cmluZyBtX3BhdGg7CiAgICAgU3RyaW5nIG1fbmFtZTsK
</data>
<flag name="review"
          id="255067"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>