<?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>165016</bug_id>
          
          <creation_ts>2016-11-21 18:48:02 -0800</creation_ts>
          <short_desc>Fix exception scope verification failures in JSArray* files.</short_desc>
          <delta_ts>2016-11-28 15:51:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Local 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>
          
          <blocked>162351</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1253318</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-21 18:48:02 -0800</bug_when>
    <thetext>Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253324</commentid>
    <comment_count>1</comment_count>
      <attachid>295320</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-21 19:24:16 -0800</bug_when>
    <thetext>Created attachment 295320
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1254008</commentid>
    <comment_count>2</comment_count>
      <attachid>295320</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-28 14:21:57 -0800</bug_when>
    <thetext>Comment on attachment 295320
proposed patch.

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

&gt; Source/JavaScriptCore/runtime/JSArray.cpp:265
&gt; +        ASSERT(!scope.exception());

This isn&apos;t needed since scope.release will soon assert this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1254063</commentid>
    <comment_count>3</comment_count>
      <attachid>295320</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-28 15:45:59 -0800</bug_when>
    <thetext>Comment on attachment 295320
proposed patch.

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

&gt;&gt; Source/JavaScriptCore/runtime/JSArray.cpp:265
&gt;&gt; +        ASSERT(!scope.exception());
&gt; 
&gt; This isn&apos;t needed since scope.release will soon assert this.

I&apos;ll remove this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1254072</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-28 15:51:20 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r209036: &lt;http://trac.webkit.org/r209036&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295320</attachid>
            <date>2016-11-21 19:24:16 -0800</date>
            <delta_ts>2016-11-28 14:21:57 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-165016.patch</filename>
            <type>text/plain</type>
            <size>14202</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4OTU2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE2LTExLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggZXhjZXB0aW9uIHNjb3BlIHZlcmlmaWNhdGlvbiBmYWlsdXJlcyBpbiBKU0FycmF5KiBmaWxl
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTAx
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVu
dGltZS9KU0FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6ZGVmaW5lT3duUHJvcGVy
dHkpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXQpOgorICAgICAgICAoSlNDOjpKU0FycmF5
OjpzZXRMZW5ndGgpOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpwb3ApOgorICAgICAgICAoSlND
OjpKU0FycmF5OjpwdXNoKToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6dW5zaGlmdENvdW50V2l0
aEFueUluZGV4aW5nVHlwZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyLmNwcDoK
KyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlcjo6cHV0KToKKyAgICAgICAgKEpTQzo6SlNBcnJh
eUJ1ZmZlcjo6ZGVmaW5lT3duUHJvcGVydHkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUlu
bGluZXMuaDoKKyAgICAgICAgKEpTQzo6Z2V0TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6dG9MZW5n
dGgpOgorCiAyMDE2LTExLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggZXhjZXB0aW9uIHNjb3BlIHZlcmlmaWNhdGlvbiBmYWlsdXJlcyBpbiBGdW5jdGlv
bkNvbnN0cnVjdG9yLmNwcC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCShyZXZpc2lvbiAyMDg5NTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg2LDcgKzE4Niw5IEBAIGJvb2wg
SlNBcnJheTo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QKICAgICAgICAgLy8gbC5pLiBTZXQg
b2xkTGVuIHRvIG9sZExlbiDigJMgMS4KICAgICAgICAgLy8gbC5paS4gTGV0IGRlbGV0ZVN1Y2Nl
ZWRlZCBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0
aG9kIG9mIEEgcGFzc2luZyBUb1N0cmluZyhvbGRMZW4pIGFuZCBmYWxzZSBhcyBhcmd1bWVudHMu
CiAgICAgICAgIC8vIGwuaWlpLiBJZiBkZWxldGVTdWNjZWVkZWQgaXMgZmFsc2UsIHRoZW4KLSAg
ICAgICAgaWYgKCFhcnJheS0+c2V0TGVuZ3RoKGV4ZWMsIG5ld0xlbiwgdGhyb3dFeGNlcHRpb24p
KSB7CisgICAgICAgIGJvb2wgc3VjY2VzcyA9IGFycmF5LT5zZXRMZW5ndGgoZXhlYywgbmV3TGVu
LCB0aHJvd0V4Y2VwdGlvbik7CisgICAgICAgIEFTU0VSVCghc2NvcGUuZXhjZXB0aW9uKCkgfHwg
IXN1Y2Nlc3MpOworICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKICAgICAgICAgICAgIC8vIDEuIFNl
dCBuZXdMZW5EZXNjLltbVmFsdWVdIHRvIG9sZExlbisxLgogICAgICAgICAgICAgLy8gMi4gSWYg
bmV3V3JpdGFibGUgaXMgZmFsc2UsIHNldCBuZXdMZW5EZXNjLltbV3JpdGFibGVdIHRvIGZhbHNl
LgogICAgICAgICAgICAgLy8gMy4gQ2FsbCB0aGUgZGVmYXVsdCBbW0RlZmluZU93blByb3BlcnR5
XV0gaW50ZXJuYWwgbWV0aG9kICg4LjEyLjkpIG9uIEEgcGFzc2luZyAibGVuZ3RoIiwgbmV3TGVu
RGVzYywgYW5kIGZhbHNlIGFzIGFyZ3VtZW50cy4KQEAgLTIyMCw5ICsyMjIsMTEgQEAgYm9vbCBK
U0FycmF5OjpkZWZpbmVPd25Qcm9wZXJ0eShKU09iamVjdAogICAgICAgICAvLyBlLmkuIFNldCBv
bGRMZW5EZXNjLltbVmFsdWVdXSB0byBpbmRleCArIDEuCiAgICAgICAgIC8vIGUuaWkuIENhbGwg
dGhlIGRlZmF1bHQgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZCAoOC4xMi45
KSBvbiBBIHBhc3NpbmcgImxlbmd0aCIsIG9sZExlbkRlc2MsIGFuZCBmYWxzZSBhcyBhcmd1bWVu
dHMuIFRoaXMgY2FsbCB3aWxsIGFsd2F5cyByZXR1cm4gdHJ1ZS4KICAgICAgICAgLy8gZi4gUmV0
dXJuIHRydWUuCisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIGFycmF5
LT5kZWZpbmVPd25JbmRleGVkUHJvcGVydHkoZXhlYywgaW5kZXgsIGRlc2NyaXB0b3IsIHRocm93
RXhjZXB0aW9uKTsKICAgICB9CiAKKyAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgcmV0dXJuIGFy
cmF5LT5KU09iamVjdDo6ZGVmaW5lT3duTm9uSW5kZXhQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5h
bWUsIGRlc2NyaXB0b3IsIHRocm93RXhjZXB0aW9uKTsKIH0KIApAQCAtMjQ2LDE4ICsyNTAsMjQg
QEAgYm9vbCBKU0FycmF5OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdAogCiAgICAgSlNBcnJh
eSogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0FycmF5Kj4oY2VsbCk7CiAKLSAgICBpZiAoVU5MSUtF
TFkoaXNUaGlzVmFsdWVBbHRlcmVkKHNsb3QsIHRoaXNPYmplY3QpKSkKKyAgICBpZiAoVU5MSUtF
TFkoaXNUaGlzVmFsdWVBbHRlcmVkKHNsb3QsIHRoaXNPYmplY3QpKSkgeworICAgICAgICBzY29w
ZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBvcmRpbmFyeVNldFNsb3coZXhlYywgdGhpc09i
amVjdCwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdC50aGlzVmFsdWUoKSwgc2xvdC5pc1N0cmlj
dE1vZGUoKSk7CisgICAgfQogCiAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkubGVuZ3RoKSB7CiAgICAgICAgIHVuc2lnbmVkIG5ld0xlbmd0aCA9IHZhbHVlLnRv
VUludDMyKGV4ZWMpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7
CiAgICAgICAgIGlmICh2YWx1ZS50b051bWJlcihleGVjKSAhPSBzdGF0aWNfY2FzdDxkb3VibGU+
KG5ld0xlbmd0aCkpIHsKICAgICAgICAgICAgIHRocm93RXhjZXB0aW9uKGV4ZWMsIHNjb3BlLCBj
cmVhdGVSYW5nZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiSW52YWxpZCBhcnJheSBsZW5ndGgi
KSkpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CisgICAgICAgIEFTU0VS
VCghc2NvcGUuZXhjZXB0aW9uKCkpOworICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAg
IHJldHVybiB0aGlzT2JqZWN0LT5zZXRMZW5ndGgoZXhlYywgbmV3TGVuZ3RoLCBzbG90LmlzU3Ry
aWN0TW9kZSgpKTsKICAgICB9CiAKKyAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgcmV0dXJuIEpT
T2JqZWN0OjpwdXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7
CiB9CiAKQEAgLTUxNyw2ICs1MjcsNyBAQCBib29sIEpTQXJyYXk6OnNldExlbmd0aChFeGVjU3Rh
dGUqIGV4ZWMsCiAgICAgICAgIGlmICghbmV3TGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIGlmIChuZXdMZW5ndGggPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkgewor
ICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICAgICAgcmV0dXJuIHNldExlbmd0
aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgbmV3TGVuZ3RoLCB0aHJv
d0V4Y2VwdGlvbiwKICAgICAgICAgICAgICAgICBlbnN1cmVBcnJheVN0b3JhZ2Uodm0pKTsKQEAg
LTUzMyw2ICs1NDQsNyBAQCBib29sIEpTQXJyYXk6OnNldExlbmd0aChFeGVjU3RhdGUqIGV4ZWMs
CiAgICAgICAgIGlmIChuZXdMZW5ndGggPj0gTUFYX0FSUkFZX0lOREVYIC8vIFRoaXMgY2FzZSBl
bnN1cmVzIHRoYXQgd2UgY2FuIGRvIGZhc3QgcHVzaC4KICAgICAgICAgICAgIHx8IChuZXdMZW5n
dGggPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWAogICAgICAgICAgICAgICAgICYmICFpc0RlbnNl
RW5vdWdoRm9yVmVjdG9yKG5ld0xlbmd0aCwgY291bnRFbGVtZW50cygpKSkpIHsKKyAgICAgICAg
ICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgICAgIHJldHVybiBzZXRMZW5ndGhXaXRoQXJy
YXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIG5ld0xlbmd0aCwgdGhyb3dFeGNlcHRp
b24sCiAgICAgICAgICAgICAgICAgZW5zdXJlQXJyYXlTdG9yYWdlKHZtKSk7CkBAIC01NjUsNiAr
NTc3LDcgQEAgYm9vbCBKU0FycmF5OjpzZXRMZW5ndGgoRXhlY1N0YXRlKiBleGVjLAogICAgICAg
ICAKICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKICAgICBjYXNlIEFycmF5V2l0aFNs
b3dQdXRBcnJheVN0b3JhZ2U6CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0
dXJuIHNldExlbmd0aFdpdGhBcnJheVN0b3JhZ2UoZXhlYywgbmV3TGVuZ3RoLCB0aHJvd0V4Y2Vw
dGlvbiwgYXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAKICAgICBkZWZhdWx0OgpAQCAtNjU5LDEx
ICs2NzIsMTQgQEAgSlNWYWx1ZSBKU0FycmF5Ojpwb3AoRXhlY1N0YXRlKiBleGVjKQogICAgIEpT
VmFsdWUgZWxlbWVudCA9IGdldChleGVjLCBpbmRleCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgSlNWYWx1ZSgpKTsKICAgICAvLyBDYWxsIHRoZSBbW0RlbGV0ZV1dIGludGVybmFs
IG1ldGhvZCBvZiBPIHdpdGggYXJndW1lbnRzIGluZHggYW5kIHRydWUuCi0gICAgaWYgKCFkZWxl
dGVQcm9wZXJ0eUJ5SW5kZXgodGhpcywgZXhlYywgaW5kZXgpKSB7CisgICAgYm9vbCBzdWNjZXNz
ID0gZGVsZXRlUHJvcGVydHlCeUluZGV4KHRoaXMsIGV4ZWMsIGluZGV4KTsKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOworICAgIGlmICghc3VjY2VzcykgewogICAg
ICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKFVuYWJsZVRvRGVs
ZXRlUHJvcGVydHlFcnJvcikpOwogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKICAgICB9
CiAgICAgLy8gQ2FsbCB0aGUgW1tQdXRdXSBpbnRlcm5hbCBtZXRob2Qgb2YgTyB3aXRoIGFyZ3Vt
ZW50cyAibGVuZ3RoIiwgaW5keCwgYW5kIHRydWUuCisgICAgc2NvcGUucmVsZWFzZSgpOwogICAg
IHNldExlbmd0aChleGVjLCBpbmRleCwgdHJ1ZSk7CiAgICAgLy8gUmV0dXJuIGVsZW1lbnQuCiAg
ICAgcmV0dXJuIGVsZW1lbnQ7CkBAIC02ODcsNiArNzAzLDcgQEAgdm9pZCBKU0FycmF5OjpwdXNo
KEV4ZWNTdGF0ZSogZXhlYywgSlNWYQogICAgICAgICAKICAgICBjYXNlIEFycmF5V2l0aFVuZGVj
aWRlZDogewogICAgICAgICBjb252ZXJ0VW5kZWNpZGVkRm9yVmFsdWUodm0sIHZhbHVlKTsKKyAg
ICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICBwdXNoKGV4ZWMsIHZhbHVlKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTY5NCw2ICs3MTEsNyBAQCB2b2lkIEpTQXJyYXk6OnB1c2go
RXhlY1N0YXRlKiBleGVjLCBKU1ZhCiAgICAgY2FzZSBBcnJheVdpdGhJbnQzMjogewogICAgICAg
ICBpZiAoIXZhbHVlLmlzSW50MzIoKSkgewogICAgICAgICAgICAgY29udmVydEludDMyRm9yVmFs
dWUodm0sIHZhbHVlKTsKKyAgICAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgICAg
IHB1c2goZXhlYywgdmFsdWUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC03
MDYsMTMgKzcyNCwxNCBAQCB2b2lkIEpTQXJyYXk6OnB1c2goRXhlY1N0YXRlKiBleGVjLCBKU1Zh
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGlmIChs
ZW5ndGggPiBNQVhfQVJSQVlfSU5ERVgpIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKGxlbmd0aCA+
IE1BWF9BUlJBWV9JTkRFWCkpIHsKICAgICAgICAgICAgIG1ldGhvZFRhYmxlKHZtKS0+cHV0QnlJ
bmRleCh0aGlzLCBleGVjLCBsZW5ndGgsIHZhbHVlLCB0cnVlKTsKICAgICAgICAgICAgIGlmICgh
c2NvcGUuZXhjZXB0aW9uKCkpCiAgICAgICAgICAgICAgICAgdGhyb3dFeGNlcHRpb24oZXhlYywg
c2NvcGUsIGNyZWF0ZVJhbmdlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJJbnZhbGlkIGFycmF5
IGxlbmd0aCIpKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgCisK
KyAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICBwdXRCeUluZGV4QmV5b25kVmVjdG9y
TGVuZ3RoV2l0aG91dEF0dHJpYnV0ZXM8SW50MzJTaGFwZT4oZXhlYywgbGVuZ3RoLCB2YWx1ZSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MjYsMTMgKzc0NSwxNCBAQCB2b2lkIEpTQXJy
YXk6OnB1c2goRXhlY1N0YXRlKiBleGVjLCBKU1ZhCiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KICAgICAgICAgCi0gICAgICAgIGlmIChsZW5ndGggPiBNQVhfQVJSQVlfSU5ERVgpIHsK
KyAgICAgICAgaWYgKFVOTElLRUxZKGxlbmd0aCA+IE1BWF9BUlJBWV9JTkRFWCkpIHsKICAgICAg
ICAgICAgIG1ldGhvZFRhYmxlKHZtKS0+cHV0QnlJbmRleCh0aGlzLCBleGVjLCBsZW5ndGgsIHZh
bHVlLCB0cnVlKTsKICAgICAgICAgICAgIGlmICghc2NvcGUuZXhjZXB0aW9uKCkpCiAgICAgICAg
ICAgICAgICAgdGhyb3dFeGNlcHRpb24oZXhlYywgc2NvcGUsIGNyZWF0ZVJhbmdlRXJyb3IoZXhl
YywgQVNDSUlMaXRlcmFsKCJJbnZhbGlkIGFycmF5IGxlbmd0aCIpKSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgCisKKyAgICAgICAgc2NvcGUucmVsZWFzZSgpOwog
ICAgICAgICBwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aG91dEF0dHJpYnV0ZXM8Q29u
dGlndW91c1NoYXBlPihleGVjLCBsZW5ndGgsIHZhbHVlKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KQEAgLTc0MCwxMiArNzYwLDE0IEBAIHZvaWQgSlNBcnJheTo6cHVzaChFeGVjU3RhdGUqIGV4
ZWMsIEpTVmEKICAgICBjYXNlIEFycmF5V2l0aERvdWJsZTogewogICAgICAgICBpZiAoIXZhbHVl
LmlzTnVtYmVyKCkpIHsKICAgICAgICAgICAgIGNvbnZlcnREb3VibGVUb0NvbnRpZ3VvdXModm0p
OworICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICAgICAgcHVzaChleGVjLCB2
YWx1ZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgZG91YmxlIHZh
bHVlQXNEb3VibGUgPSB2YWx1ZS5hc051bWJlcigpOwogICAgICAgICBpZiAodmFsdWVBc0RvdWJs
ZSAhPSB2YWx1ZUFzRG91YmxlKSB7CiAgICAgICAgICAgICBjb252ZXJ0RG91YmxlVG9Db250aWd1
b3VzKHZtKTsKKyAgICAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgICAgIHB1c2go
ZXhlYywgdmFsdWUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC03NTgsMjMg
Kzc4MCwyNiBAQCB2b2lkIEpTQXJyYXk6OnB1c2goRXhlY1N0YXRlKiBleGVjLCBKU1ZhCiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGlmIChsZW5ndGgg
PiBNQVhfQVJSQVlfSU5ERVgpIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKGxlbmd0aCA+IE1BWF9B
UlJBWV9JTkRFWCkpIHsKICAgICAgICAgICAgIG1ldGhvZFRhYmxlKHZtKS0+cHV0QnlJbmRleCh0
aGlzLCBleGVjLCBsZW5ndGgsIHZhbHVlLCB0cnVlKTsKICAgICAgICAgICAgIGlmICghc2NvcGUu
ZXhjZXB0aW9uKCkpCiAgICAgICAgICAgICAgICAgdGhyb3dFeGNlcHRpb24oZXhlYywgc2NvcGUs
IGNyZWF0ZVJhbmdlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJJbnZhbGlkIGFycmF5IGxlbmd0
aCIpKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgCisKKyAgICAg
ICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICBwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3Ro
V2l0aG91dEF0dHJpYnV0ZXM8RG91YmxlU2hhcGU+KGV4ZWMsIGxlbmd0aCwgdmFsdWUpOwotICAg
ICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBB
cnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOiB7CiAgICAgICAgIHVuc2lnbmVkIG9sZExlbmd0
aCA9IGxlbmd0aCgpOwogICAgICAgICBib29sIHB1dFJlc3VsdCA9IGZhbHNlOwogICAgICAgICBp
ZiAoYXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShleGVjLCBvbGRMZW5ndGgsIHZh
bHVlLCB0cnVlLCBwdXRSZXN1bHQpKSB7Ci0gICAgICAgICAgICBpZiAoIXNjb3BlLmV4Y2VwdGlv
bigpICYmIG9sZExlbmd0aCA8IDB4RkZGRkZGRkZ1KQorICAgICAgICAgICAgaWYgKCFzY29wZS5l
eGNlcHRpb24oKSAmJiBvbGRMZW5ndGggPCAweEZGRkZGRkZGdSkgeworICAgICAgICAgICAgICAg
IHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgICAgICAgICBzZXRMZW5ndGgoZXhlYywgb2xkTGVu
Z3RoICsgMSwgdHJ1ZSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KICAgICAgICAgRkFMTFRIUk9VR0g7CkBAIC03OTMsNyArODE4LDcgQEAgdm9pZCBKU0Fy
cmF5OjpwdXNoKEV4ZWNTdGF0ZSogZXhlYywgSlNWYQogICAgICAgICB9CiAKICAgICAgICAgLy8g
UHVzaGluZyB0byBhbiBhcnJheSBvZiBpbnZhbGlkIGxlbmd0aCAoMl4zMS0xKSBzdG9yZXMgdGhl
IHByb3BlcnR5LCBidXQgdGhyb3dzIGEgcmFuZ2UgZXJyb3IuCi0gICAgICAgIGlmIChzdG9yYWdl
LT5sZW5ndGgoKSA+IE1BWF9BUlJBWV9JTkRFWCkgeworICAgICAgICBpZiAoVU5MSUtFTFkoc3Rv
cmFnZS0+bGVuZ3RoKCkgPiBNQVhfQVJSQVlfSU5ERVgpKSB7CiAgICAgICAgICAgICBtZXRob2RU
YWJsZSh2bSktPnB1dEJ5SW5kZXgodGhpcywgZXhlYywgc3RvcmFnZS0+bGVuZ3RoKCksIHZhbHVl
LCB0cnVlKTsKICAgICAgICAgICAgIC8vIFBlciBFUzUuMSAxNS40LjQuNyBzdGVwIDYgJiAxNS40
LjUuMSBzdGVwIDMuZC4KICAgICAgICAgICAgIGlmICghc2NvcGUuZXhjZXB0aW9uKCkpCkBAIC04
MDIsOCArODI3LDkgQEAgdm9pZCBKU0FycmF5OjpwdXNoKEV4ZWNTdGF0ZSogZXhlYywgSlNWYQog
ICAgICAgICB9CiAKICAgICAgICAgLy8gSGFuZGxlZCB0aGUgc2FtZSBhcyBwdXRJbmRleC4KKyAg
ICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICBwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVu
Z3RoV2l0aEFycmF5U3RvcmFnZShleGVjLCBzdG9yYWdlLT5sZW5ndGgoKSwgdmFsdWUsIHRydWUs
IHN0b3JhZ2UpOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAg
ICAgCiAgICAgZGVmYXVsdDoKQEAgLTExMTcsOCArMTE0MywxMCBAQCBib29sIEpTQXJyYXk6OnVu
c2hpZnRDb3VudFdpdGhBbnlJbmRleGluCiAgICAgICAgIAogICAgICAgICAvLyBXZSBtYXkgaGF2
ZSB0byB3YWxrIHRoZSBlbnRpcmUgYXJyYXkgdG8gZG8gdGhlIHVuc2hpZnQuIFdlJ3JlIHdpbGxp
bmcgdG8gZG8gc28KICAgICAgICAgLy8gb25seSBpZiBpdCdzIG5vdCBob3JyaWJseSBzbG93Lgot
ICAgICAgICBpZiAob2xkTGVuZ3RoIC0gc3RhcnRJbmRleCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lO
REVYKQorICAgICAgICBpZiAob2xkTGVuZ3RoIC0gc3RhcnRJbmRleCA+PSBNSU5fU1BBUlNFX0FS
UkFZX0lOREVYKSB7CisgICAgICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgICAgICBy
ZXR1cm4gdW5zaGlmdENvdW50V2l0aEFycmF5U3RvcmFnZShleGVjLCBzdGFydEluZGV4LCBjb3Vu
dCwgZW5zdXJlQXJyYXlTdG9yYWdlKHZtKSk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAg
IGlmICghZW5zdXJlTGVuZ3RoKHZtLCBvbGRMZW5ndGggKyBjb3VudCkpIHsKICAgICAgICAgICAg
IHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7CkBAIC0xMTMwLDggKzExNTgsMTAg
QEAgYm9vbCBKU0FycmF5Ojp1bnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbgogICAgICAgICAvLyB0
aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBB
cnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gb2xkTGVuZ3RoOyBp
LS0gPiBzdGFydEluZGV4OykgewogICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5j
b250aWd1b3VzKClbaV0uZ2V0KCk7Ci0gICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKQorICAg
ICAgICAgICAgaWYgKFVOTElLRUxZKCF2KSkgeworICAgICAgICAgICAgICAgIHNjb3BlLnJlbGVh
c2UoKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdW5zaGlmdENvdW50V2l0aEFycmF5U3RvcmFn
ZShleGVjLCBzdGFydEluZGV4LCBjb3VudCwgZW5zdXJlQXJyYXlTdG9yYWdlKHZtKSk7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBvbGRMZW5n
dGg7IGktLSA+IHN0YXJ0SW5kZXg7KSB7CkBAIC0xMTUzLDggKzExODMsMTAgQEAgYm9vbCBKU0Fy
cmF5Ojp1bnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbgogICAgICAgICAKICAgICAgICAgLy8gV2Ug
bWF5IGhhdmUgdG8gd2FsayB0aGUgZW50aXJlIGFycmF5IHRvIGRvIHRoZSB1bnNoaWZ0LiBXZSdy
ZSB3aWxsaW5nIHRvIGRvIHNvCiAgICAgICAgIC8vIG9ubHkgaWYgaXQncyBub3QgaG9ycmlibHkg
c2xvdy4KLSAgICAgICAgaWYgKG9sZExlbmd0aCAtIHN0YXJ0SW5kZXggPj0gTUlOX1NQQVJTRV9B
UlJBWV9JTkRFWCkKKyAgICAgICAgaWYgKG9sZExlbmd0aCAtIHN0YXJ0SW5kZXggPj0gTUlOX1NQ
QVJTRV9BUlJBWV9JTkRFWCkgeworICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAg
ICAgICAgcmV0dXJuIHVuc2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UoZXhlYywgc3RhcnRJbmRl
eCwgY291bnQsIGVuc3VyZUFycmF5U3RvcmFnZSh2bSkpOworICAgICAgICB9CiAgICAgICAgIAog
ICAgICAgICBpZiAoIWVuc3VyZUxlbmd0aCh2bSwgb2xkTGVuZ3RoICsgY291bnQpKSB7CiAgICAg
ICAgICAgICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOwpAQCAtMTE2Niw4ICsx
MTk4LDEwIEBAIGJvb2wgSlNBcnJheTo6dW5zaGlmdENvdW50V2l0aEFueUluZGV4aW4KICAgICAg
ICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJl
ZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG9sZExl
bmd0aDsgaS0tID4gc3RhcnRJbmRleDspIHsKICAgICAgICAgICAgIGRvdWJsZSB2ID0gYnV0dGVy
Zmx5LT5jb250aWd1b3VzRG91YmxlKClbaV07Ci0gICAgICAgICAgICBpZiAoVU5MSUtFTFkodiAh
PSB2KSkKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CisgICAgICAgICAgICAg
ICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICAgICAgICAgIHJldHVybiB1bnNoaWZ0Q291bnRX
aXRoQXJyYXlTdG9yYWdlKGV4ZWMsIHN0YXJ0SW5kZXgsIGNvdW50LCBlbnN1cmVBcnJheVN0b3Jh
Z2Uodm0pKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IG9sZExlbmd0aDsgaS0tID4gc3RhcnRJbmRleDspIHsKQEAgLTExODYsNiArMTIyMCw3
IEBAIGJvb2wgSlNBcnJheTo6dW5zaGlmdENvdW50V2l0aEFueUluZGV4aW4KICAgICAgICAgCiAg
ICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgY2FzZSBBcnJheVdpdGhTbG93UHV0
QXJyYXlTdG9yYWdlOgorICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiB1
bnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlKGV4ZWMsIHN0YXJ0SW5kZXgsIGNvdW50LCBhcnJh
eVN0b3JhZ2UoKSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmNwcAkocmV2aXNpb24gMjA4OTU2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEwNiwxMiArMTA2LDE1IEBAIGJvb2wgSlNBcnJheUJ1ZmZlcjo6cHV0
KAogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU0FycmF5
QnVmZmVyKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyYXlCdWZmZXIqPihjZWxsKTsKIAotICAg
IGlmIChVTkxJS0VMWShpc1RoaXNWYWx1ZUFsdGVyZWQoc2xvdCwgdGhpc09iamVjdCkpKQorICAg
IGlmIChVTkxJS0VMWShpc1RoaXNWYWx1ZUFsdGVyZWQoc2xvdCwgdGhpc09iamVjdCkpKSB7Cisg
ICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIG9yZGluYXJ5U2V0U2xvdyhl
eGVjLCB0aGlzT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90LnRoaXNWYWx1ZSgpLCBz
bG90LmlzU3RyaWN0TW9kZSgpKTsKKyAgICB9CiAgICAgCiAgICAgaWYgKHByb3BlcnR5TmFtZSA9
PSB2bS5wcm9wZXJ0eU5hbWVzLT5ieXRlTGVuZ3RoKQogICAgICAgICByZXR1cm4gdHlwZUVycm9y
KGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoIkF0dGVtcHRp
bmcgdG8gd3JpdGUgdG8gYSByZWFkLW9ubHkgYXJyYXkgYnVmZmVyIHByb3BlcnR5LiIpKTsKLSAg
ICAKKworICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4gQmFzZTo6cHV0KHRoaXNPYmpl
Y3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogfQogCkBAIC0xMjUsNyArMTI4
LDggQEAgYm9vbCBKU0FycmF5QnVmZmVyOjpkZWZpbmVPd25Qcm9wZXJ0eSgKICAgICAKICAgICBp
ZiAocHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPmJ5dGVMZW5ndGgpCiAgICAgICAg
IHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNob3VsZFRocm93LCBBU0NJSUxpdGVyYWwo
IkF0dGVtcHRpbmcgdG8gZGVmaW5lIHJlYWQtb25seSBhcnJheSBidWZmZXIgcHJvcGVydHkuIikp
OwotICAgIAorCisgICAgc2NvcGUucmVsZWFzZSgpOwogICAgIHJldHVybiBCYXNlOjpkZWZpbmVP
d25Qcm9wZXJ0eSh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIHNo
b3VsZFRocm93KTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJheUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5SW5saW5lcy5oCShyZXZpc2lvbiAyMDg5NTYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3
Niw3IEBAIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgZ2V0TGVuZ3RoKEV4ZWNTdGEKIAogICAgIEpT
VmFsdWUgbGVuZ3RoVmFsdWUgPSBvYmotPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5n
dGgpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFVJTlRfTUFYKTsKKyAgICBzY29w
ZS5yZWxlYXNlKCk7CiAgICAgcmV0dXJuIGxlbmd0aFZhbHVlLnRvVUludDMyKGV4ZWMpOwogfQog
CkBAIC04OCw2ICs4OSw3IEBAIEFMV0FZU19JTkxJTkUgZG91YmxlIHRvTGVuZ3RoKEV4ZWNTdGF0
ZSoKIAogICAgIEpTVmFsdWUgbGVuZ3RoVmFsdWUgPSBvYmotPmdldChleGVjLCB2bS5wcm9wZXJ0
eU5hbWVzLT5sZW5ndGgpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIFBOYU4pOwor
ICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4gbGVuZ3RoVmFsdWUudG9MZW5ndGgoZXhl
Yyk7CiB9CiAK
</data>
<flag name="review"
          id="317938"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>