<?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>159691</bug_id>
          
          <creation_ts>2016-07-12 15:02:03 -0700</creation_ts>
          <short_desc>[WK2][NetworkSession] Fix unsafe RunLoop::dispatch() in NetworkLoad constructor</short_desc>
          <delta_ts>2016-07-13 15:01:34 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=159526</see_also>
          <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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1210182</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 15:02:03 -0700</bug_when>
    <thetext>Fix unsafe RunLoop::dispatch() in NetworkLoad constructor. It captures |this| but there is no guarantee the NetworkLoad will still be alive by the time the lambda gets executed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210187</commentid>
    <comment_count>1</comment_count>
      <attachid>283455</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 15:06:17 -0700</bug_when>
    <thetext>Created attachment 283455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210188</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 15:07:10 -0700</bug_when>
    <thetext>Let me know if after seeing the code you think we should use a factory function on NetworkLoad and PendingDownload instead. I hesitated between the two approaches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210194</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 15:11:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/27240886&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210211</commentid>
    <comment_count>4</comment_count>
      <attachid>283455</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 15:44:06 -0700</bug_when>
    <thetext>Comment on attachment 283455
Patch

Clearing flags on attachment: 283455

Committed r203133: &lt;http://trac.webkit.org/changeset/203133&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210212</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 15:44:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283455</attachid>
            <date>2016-07-12 15:06:17 -0700</date>
            <delta_ts>2016-07-12 15:44:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159691-20160712150534.patch</filename>
            <type>text/plain</type>
            <size>10405</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTgyMGJkMTgxYTMzZDU2
ZTYwY2IzODg1ZmQxOTRjMDNkMzA0ZThiNC4uODBmN2Q3NTUyNjBkZjE1ZmVjMjdhMzdhMmZlMTc0
ZGFjOTg1ZDA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTA3LTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl1bTmV0d29ya1Nlc3Np
b25dIEZpeCB1bnNhZmUgUnVuTG9vcDo6ZGlzcGF0Y2goKSBpbiBOZXR3b3JrTG9hZCBjb25zdHJ1
Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5
NjkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlIHVuc2FmZSBSdW5Mb29wOjpkaXNwYXRjaCgpIGluIE5ldHdvcmtMb2FkIGNvbnN0cnVjdG9y
LiBJdCBjYXB0dXJlZCB8dGhpc3wgYnV0IHRoZXJlCisgICAgICAgIHdhcyBubyBndWFyYW50ZWUg
dGhlIE5ldHdvcmtMb2FkIHdvdWxkIHN0aWxsIGJlIGFsaXZlIGJ5IHRoZSB0aW1lIHRoZSBsYW1i
ZGEgZ2V0cyBleGVjdXRlZC4KKworICAgICAgICBJbnN0ZWFkLCB0aGUgY29uc3RydWN0b3Igbm93
IHRha2VzIGEgTmV0d29ya1Nlc3Npb24mIHBhcmFtZXRlciBzbyB0aGF0IHRoZSBjYWxsIHNpdGVz
CisgICAgICAgIGhhdmUgdG8gcmV0cmlldmUgdGhlIE5ldHdvcmtTZXNzaW9uIGZvciBhIGdpdmVu
IFNlc3Npb25JRCBhbmQgZGVhbCB3aXRoIHRoZSBmYWN0IHRoYXQKKyAgICAgICAgdGhlcmUgbWF5
IGJlIG5vIHN1Y2ggTmV0d29ya1Nlc3Npb24gYmVmb3JlIGNvbnN0cnVjdGluZyB0aGUgTmV0d29y
a0xvYWQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5h
Z2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRNYW5hZ2VyOjpzdGFydERvd25sb2Fk
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UGVuZGluZ0Rvd25sb2FkOjpQZW5kaW5nRG93bmxvYWQpOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9QZW5kaW5nRG93bmxvYWQuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtMb2FkOjpOZXR3b3JrTG9hZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0
d29ya0xvYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3BlY3Vs
YXRpdmVMb2FkOjpTcGVjdWxhdGl2ZUxvYWQpOgorCiAyMDE2LTA3LTEyICBHeXV5b3VuZyBLaW0g
IDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFX0NTUzNf
VEVYVF9MSU5FX0JSRUFLIGZsYWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAKaW5kZXggZGVkZjExMDU5
ZGY5ODVlYThkNThkMzY3ZDg3MDMxMGVjNTAxYzIxNS4uYTc1YjE2ZDVlMTgzZmRlM2EwZjc0MWZh
YmQzOWNkMDc3YzEwYzdkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAKQEAgLTU0LDcgKzU0LDcg
QEAgdm9pZCBEb3dubG9hZE1hbmFnZXI6OnN0YXJ0RG93bmxvYWQoU2Vzc2lvbklEIHNlc3Npb25J
RCwgRG93bmxvYWRJRCBkb3dubG9hZElELAogICAgIHBhcmFtZXRlcnMuc2Vzc2lvbklEID0gc2Vz
c2lvbklEOwogICAgIHBhcmFtZXRlcnMucmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgcGFyYW1ldGVy
cy5jbGllbnRDcmVkZW50aWFsUG9saWN5ID0gQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHM7Ci0g
ICAgbV9wZW5kaW5nRG93bmxvYWRzLmFkZChkb3dubG9hZElELCBzdGQ6Om1ha2VfdW5pcXVlPFBl
bmRpbmdEb3dubG9hZD4oV1RGTW92ZShwYXJhbWV0ZXJzKSwgZG93bmxvYWRJRCkpOworICAgIG1f
cGVuZGluZ0Rvd25sb2Fkcy5hZGQoZG93bmxvYWRJRCwgc3RkOjptYWtlX3VuaXF1ZTxQZW5kaW5n
RG93bmxvYWQ+KFdURk1vdmUocGFyYW1ldGVycyksIGRvd25sb2FkSUQsICpuZXR3b3JrU2Vzc2lv
bikpOwogI2Vsc2UKICAgICBhdXRvIGRvd25sb2FkID0gc3RkOjptYWtlX3VuaXF1ZTxEb3dubG9h
ZD4oKnRoaXMsIGRvd25sb2FkSUQsIHJlcXVlc3QsIHN1Z2dlc3RlZE5hbWUpOwogICAgIGRvd25s
b2FkLT5zdGFydCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
RG93bmxvYWRzL1BlbmRpbmdEb3dubG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNwcAppbmRleCAyOTgyZTUwNzhkMGEyNzBk
NGY5MGU0N2YxMTBmN2E0NzE3Nzk1MTcyLi43YTMzMjhjMmU4NTc4NjZkNDFmZWQwZmNhN2I4MjU1
NDIxYzM0NTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3du
bG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNwcApAQCAtMzgsOCArMzgsOCBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVBlbmRpbmdEb3du
bG9hZDo6UGVuZGluZ0Rvd25sb2FkKE5ldHdvcmtMb2FkUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMs
IERvd25sb2FkSUQgZG93bmxvYWRJRCkKLSAgICA6IG1fbmV0d29ya0xvYWQoc3RkOjptYWtlX3Vu
aXF1ZTxOZXR3b3JrTG9hZD4oKnRoaXMsIFdURk1vdmUocGFyYW1ldGVycykpKQorUGVuZGluZ0Rv
d25sb2FkOjpQZW5kaW5nRG93bmxvYWQoTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVy
cywgRG93bmxvYWRJRCBkb3dubG9hZElELCBOZXR3b3JrU2Vzc2lvbiYgbmV0d29ya1Nlc3Npb24p
CisgICAgOiBtX25ldHdvcmtMb2FkKHN0ZDo6bWFrZV91bmlxdWU8TmV0d29ya0xvYWQ+KCp0aGlz
LCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBuZXR3b3JrU2Vzc2lvbikpCiB7CiAgICAgbV9uZXR3b3Jr
TG9hZC0+c2V0UGVuZGluZ0Rvd25sb2FkSUQoZG93bmxvYWRJRCk7CiAgICAgbV9uZXR3b3JrTG9h
ZC0+c2V0UGVuZGluZ0Rvd25sb2FkKCp0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9QZW5kaW5nRG93bmxvYWQuaCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9QZW5kaW5nRG93bmxvYWQuaAppbmRleCA3ODY4
N2U2YWRkODhhMGY1MTdkOWI2MjgyZGFhZDU0ZjY0NTJlNjhlLi5lNmJhYTZkYTM0ZGU1ZDY2OWMz
MzBjYTNiNTRmZTYyZjc4ZTMzNjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL1BlbmRpbmdEb3dubG9hZC5oCkBAIC00MCwxMSArNDAs
MTIgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBEb3dubG9hZElEOwogY2xhc3MgTmV0d29y
a0xvYWQ7CiBjbGFzcyBOZXR3b3JrTG9hZFBhcmFtZXRlcnM7CitjbGFzcyBOZXR3b3JrU2Vzc2lv
bjsKICAgICAKIGNsYXNzIFBlbmRpbmdEb3dubG9hZCA6IHB1YmxpYyBOZXR3b3JrTG9hZENsaWVu
dCwgcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6Ci0gICAgUGVuZGluZ0Rvd25sb2FkKE5ldHdvcmtMb2FkUGFyYW1ldGVycyYm
LCBEb3dubG9hZElEKTsKKyAgICBQZW5kaW5nRG93bmxvYWQoTmV0d29ya0xvYWRQYXJhbWV0ZXJz
JiYsIERvd25sb2FkSUQsIE5ldHdvcmtTZXNzaW9uJik7CiAKICAgICB2b2lkIGNvbnRpbnVlV2ls
bFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmKTsKICAgICB2b2lkIGNvbnRp
bnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShib29sIGNhbkF1dGhlbnRp
Y2F0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
TG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAK
aW5kZXggYzdlODQwZmM0M2M3YmQ0NmVkZjY5ZGY3MTEwYTA2ODY1ZWE4YTA4Mi4uYTZiMWI3OTk5
MzQ1YzE2M2RmZjExMWYxNDhkNzEyZjhmYWM2N2NjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcApAQCAtNDEsMzQgKzQxLDM1IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotTmV0d29ya0xvYWQ6Ok5l
dHdvcmtMb2FkKE5ldHdvcmtMb2FkQ2xpZW50JiBjbGllbnQsIE5ldHdvcmtMb2FkUGFyYW1ldGVy
cyYmIHBhcmFtZXRlcnMpCisjaWYgVVNFKE5FVFdPUktfU0VTU0lPTikKKworTmV0d29ya0xvYWQ6
Ok5ldHdvcmtMb2FkKE5ldHdvcmtMb2FkQ2xpZW50JiBjbGllbnQsIE5ldHdvcmtMb2FkUGFyYW1l
dGVycyYmIHBhcmFtZXRlcnMsIE5ldHdvcmtTZXNzaW9uJiBuZXR3b3JrU2Vzc2lvbikKICAgICA6
IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fcGFyYW1ldGVycyhXVEZNb3ZlKHBhcmFtZXRlcnMp
KQotI2lmICFVU0UoTkVUV09SS19TRVNTSU9OKQotICAgICwgbV9uZXR3b3JraW5nQ29udGV4dChS
ZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKG1fcGFyYW1ldGVycy5zZXNzaW9uSUQsIG1f
cGFyYW1ldGVycy5zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KSkKLSNl
bmRpZgogICAgICwgbV9jdXJyZW50UmVxdWVzdChtX3BhcmFtZXRlcnMucmVxdWVzdCkKIHsKLSNp
ZiBVU0UoTkVUV09SS19TRVNTSU9OKQogICAgIGlmIChtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwo
KS5wcm90b2NvbElzQmxvYigpKSB7CiAgICAgICAgIG1faGFuZGxlID0gUmVzb3VyY2VIYW5kbGU6
OmNyZWF0ZShudWxscHRyLCBtX3BhcmFtZXRlcnMucmVxdWVzdCwgdGhpcywgbV9wYXJhbWV0ZXJz
LmRlZmVyc0xvYWRpbmcsIG1fcGFyYW1ldGVycy5jb250ZW50U25pZmZpbmdQb2xpY3kgPT0gU25p
ZmZDb250ZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAoYXV0byogbmV0d29y
a1Nlc3Npb24gPSBTZXNzaW9uVHJhY2tlcjo6bmV0d29ya1Nlc3Npb24obV9wYXJhbWV0ZXJzLnNl
c3Npb25JRCkpIHsKLSAgICAgICAgbV90YXNrID0gTmV0d29ya0RhdGFUYXNrOjpjcmVhdGUoKm5l
dHdvcmtTZXNzaW9uLCAqdGhpcywgbV9wYXJhbWV0ZXJzLnJlcXVlc3QsIG1fcGFyYW1ldGVycy5h
bGxvd1N0b3JlZENyZWRlbnRpYWxzLCBtX3BhcmFtZXRlcnMuY29udGVudFNuaWZmaW5nUG9saWN5
LCBtX3BhcmFtZXRlcnMuc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7
Ci0gICAgICAgIGlmICghbV9wYXJhbWV0ZXJzLmRlZmVyc0xvYWRpbmcpCi0gICAgICAgICAgICBt
X3Rhc2stPnJlc3VtZSgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiQXR0
ZW1wdGVkIHRvIGNyZWF0ZSBhIE5ldHdvcmtMb2FkIHdpdGggYSBzZXNzaW9uIChpZD0lIiBQUkl1
NjQgIikgdGhhdCBkb2VzIG5vdCBleGlzdC4iLCBtX3BhcmFtZXRlcnMuc2Vzc2lvbklELnNlc3Np
b25JRCgpKTsKLSAgICAgICAgUnVuTG9vcDo6Y3VycmVudCgpLmRpc3BhdGNoKFt0aGlzLCB1cmwg
PSBtX3BhcmFtZXRlcnMucmVxdWVzdC51cmwoKV0gewotICAgICAgICAgICAgZGlkQ29tcGxldGVX
aXRoRXJyb3IoaW50ZXJuYWxFcnJvcih1cmwpKTsKLSAgICAgICAgfSk7Ci0gICAgfQorICAgIG1f
dGFzayA9IE5ldHdvcmtEYXRhVGFzazo6Y3JlYXRlKG5ldHdvcmtTZXNzaW9uLCAqdGhpcywgbV9w
YXJhbWV0ZXJzLnJlcXVlc3QsIG1fcGFyYW1ldGVycy5hbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBt
X3BhcmFtZXRlcnMuY29udGVudFNuaWZmaW5nUG9saWN5LCBtX3BhcmFtZXRlcnMuc2hvdWxkQ2xl
YXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7CisgICAgaWYgKCFtX3BhcmFtZXRlcnMu
ZGVmZXJzTG9hZGluZykKKyAgICAgICAgbV90YXNrLT5yZXN1bWUoKTsKK30KKwogI2Vsc2UKKwor
TmV0d29ya0xvYWQ6Ok5ldHdvcmtMb2FkKE5ldHdvcmtMb2FkQ2xpZW50JiBjbGllbnQsIE5ldHdv
cmtMb2FkUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCisgICAgOiBtX2NsaWVudChjbGllbnQpCisg
ICAgLCBtX3BhcmFtZXRlcnMoV1RGTW92ZShwYXJhbWV0ZXJzKSkKKyAgICAsIG1fbmV0d29ya2lu
Z0NvbnRleHQoUmVtb3RlTmV0d29ya2luZ0NvbnRleHQ6OmNyZWF0ZShtX3BhcmFtZXRlcnMuc2Vz
c2lvbklELCBtX3BhcmFtZXRlcnMuc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdCkpCisgICAgLCBtX2N1cnJlbnRSZXF1ZXN0KG1fcGFyYW1ldGVycy5yZXF1ZXN0KQorewog
ICAgIG1faGFuZGxlID0gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShtX25ldHdvcmtpbmdDb250ZXh0
LmdldCgpLCBtX3BhcmFtZXRlcnMucmVxdWVzdCwgdGhpcywgbV9wYXJhbWV0ZXJzLmRlZmVyc0xv
YWRpbmcsIG1fcGFyYW1ldGVycy5jb250ZW50U25pZmZpbmdQb2xpY3kgPT0gU25pZmZDb250ZW50
KTsKLSNlbmRpZgogfQogCisjZW5kaWYKKwogTmV0d29ya0xvYWQ6On5OZXR3b3JrTG9hZCgpCiB7
CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrTG9hZC5oCmluZGV4IDVkZDg1ZWEyZWRhMzgyODM2MmZjMzkyYmQyZDVl
M2FkYmU4MzQ0YmEuLjk0YmNlZjQ3Y2JkOTdmM2FkOTZhYjg5YTdmNzRiY2RmM2VjOTQ2ZGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmgKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuaApAQCAtNDcsNyAr
NDcsMTEgQEAgY2xhc3MgTmV0d29ya0xvYWQgOiBwdWJsaWMgV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGVDbGllbnQKIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyNpZiBV
U0UoTkVUV09SS19TRVNTSU9OKQorICAgIE5ldHdvcmtMb2FkKE5ldHdvcmtMb2FkQ2xpZW50Jiwg
TmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtTZXNzaW9uJik7CisjZWxzZQogICAgIE5l
dHdvcmtMb2FkKE5ldHdvcmtMb2FkQ2xpZW50JiwgTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYpOwor
I2VuZGlmCiAgICAgfk5ldHdvcmtMb2FkKCk7CiAKICAgICB2b2lkIHNldERlZmVyc0xvYWRpbmco
Ym9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBmZjdjNTM4NjI0MTNkNjIwMzI4YjM5NmUzOWQxYjQ2
ZDdhOTZkNmJlLi42OTUyODZlOGFhMmQ4NTQ1N2YzNzE4NGQwYTg4OWFmZDQyYjRlYjY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTM0LDcgKzM0LDkgQEAKICNpbmNsdWRlICJOZXR3b3JrTG9hZC5oIgog
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJTZXNzaW9uVHJhY2tlci5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgIldlYkVycm9ycy5oIgogI2luY2x1
ZGUgIldlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Jsb2JE
YXRhRmlsZVJlZmVyZW5jZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+
CkBAIC0yMDksNyArMjExLDE4IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5l
dHdvcmtMb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICAgICBOZXR3b3JrTG9h
ZFBhcmFtZXRlcnMgcGFyYW1ldGVycyA9IG1fcGFyYW1ldGVyczsKICAgICBwYXJhbWV0ZXJzLmRl
ZmVyc0xvYWRpbmcgPSBtX2RlZmVyc0xvYWRpbmc7CiAgICAgcGFyYW1ldGVycy5yZXF1ZXN0ID0g
cmVxdWVzdDsKKworI2lmIFVTRShORVRXT1JLX1NFU1NJT04pCisgICAgYXV0byogbmV0d29ya1Nl
c3Npb24gPSBTZXNzaW9uVHJhY2tlcjo6bmV0d29ya1Nlc3Npb24ocGFyYW1ldGVycy5zZXNzaW9u
SUQpOworICAgIGlmICghbmV0d29ya1Nlc3Npb24pIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCJB
dHRlbXB0ZWQgdG8gY3JlYXRlIGEgTmV0d29ya0xvYWQgd2l0aCBhIHNlc3Npb24gKGlkPSUiIFBS
SXU2NCAiKSB0aGF0IGRvZXMgbm90IGV4aXN0LiIsIHBhcmFtZXRlcnMuc2Vzc2lvbklELnNlc3Np
b25JRCgpKTsKKyAgICAgICAgZGlkRmFpbExvYWRpbmcoaW50ZXJuYWxFcnJvcihyZXF1ZXN0LnVy
bCgpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbV9uZXR3b3JrTG9hZCA9IHN0ZDo6
bWFrZV91bmlxdWU8TmV0d29ya0xvYWQ+KCp0aGlzLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCAqbmV0
d29ya1Nlc3Npb24pOworI2Vsc2UKICAgICBtX25ldHdvcmtMb2FkID0gc3RkOjptYWtlX3VuaXF1
ZTxOZXR3b3JrTG9hZD4oKnRoaXMsIFdURk1vdmUocGFyYW1ldGVycykpOworI2VuZGlmCiB9CiAK
IHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKaW5kZXggMTRjMDljOTJiYjRm
MjFiNTM5NTdhYzg5MDA4MTY3MDY4MDAxMTg5MC4uZmM1NTUxMzY2OGM0MjZkOWM3NTEwNWRmYmEx
YjA5NTc3ZGViYWU0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwCkBA
IC01NSw3ICs1NSwxMSBAQCBTcGVjdWxhdGl2ZUxvYWQ6OlNwZWN1bGF0aXZlTG9hZChjb25zdCBH
bG9iYWxGcmFtZUlEJiBmcmFtZUlELCBjb25zdCBSZXNvdXJjZVJlcQogICAgIHBhcmFtZXRlcnMu
YWxsb3dTdG9yZWRDcmVkZW50aWFscyA9IEFsbG93U3RvcmVkQ3JlZGVudGlhbHM7CiAgICAgcGFy
YW1ldGVycy5jb250ZW50U25pZmZpbmdQb2xpY3kgPSBEb05vdFNuaWZmQ29udGVudDsKICAgICBw
YXJhbWV0ZXJzLnJlcXVlc3QgPSBtX29yaWdpbmFsUmVxdWVzdDsKKyNpZiBVU0UoTkVUV09SS19T
RVNTSU9OKQorICAgIG1fbmV0d29ya0xvYWQgPSBzdGQ6Om1ha2VfdW5pcXVlPE5ldHdvcmtMb2Fk
PigqdGhpcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgTmV0d29ya1Nlc3Npb246OmRlZmF1bHRTZXNz
aW9uKCkpOworI2Vsc2UKICAgICBtX25ldHdvcmtMb2FkID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3
b3JrTG9hZD4oKnRoaXMsIFdURk1vdmUocGFyYW1ldGVycykpOworI2VuZGlmCiB9CiAKIFNwZWN1
bGF0aXZlTG9hZDo6flNwZWN1bGF0aXZlTG9hZCgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>