<?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>164971</bug_id>
          
          <creation_ts>2016-11-18 16:57:16 -0800</creation_ts>
          <short_desc>Fix exception scope verification failures in JSC profiler files.</short_desc>
          <delta_ts>2016-11-22 12:52:51 -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>commit-queue</cc>
    
    <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>1252958</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-18 16:57:16 -0800</bug_when>
    <thetext>Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252965</commentid>
    <comment_count>1</comment_count>
      <attachid>295225</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-18 17:02:11 -0800</bug_when>
    <thetext>Created attachment 295225
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253282</commentid>
    <comment_count>2</comment_count>
      <attachid>295310</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-21 12:05:23 -0800</bug_when>
    <thetext>Created attachment 295310
proposed patch: updated to use return { } where possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253301</commentid>
    <comment_count>3</comment_count>
      <attachid>295310</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-21 15:22:23 -0800</bug_when>
    <thetext>Comment on attachment 295310
proposed patch: updated to use return { } where possible.

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

&gt; Source/JavaScriptCore/profiler/ProfilerCompilation.cpp:120
&gt; +    RETURN_IF_EXCEPTION(scope, { });

Why not make these assertions in this file since this is only used for debugging?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253409</commentid>
    <comment_count>4</comment_count>
      <attachid>295310</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-22 12:48:21 -0800</bug_when>
    <thetext>Comment on attachment 295310
proposed patch: updated to use return { } where possible.

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

&gt;&gt; Source/JavaScriptCore/profiler/ProfilerCompilation.cpp:120
&gt;&gt; +    RETURN_IF_EXCEPTION(scope, { });
&gt; 
&gt; Why not make these assertions in this file since this is only used for debugging?

We were already checking for some exceptions in this code before.  In this patch, I&apos;m filling out more exception checks.  It might be appropriate to replace all these with assertions, but that would be a change in behavior.  I&apos;ll stick with the exception checks for now.  We can consider a change of behavior to use assertions later if desired.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253411</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-22 12:52:51 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r208968: &lt;http://trac.webkit.org/r208968&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295225</attachid>
            <date>2016-11-18 17:02:11 -0800</date>
            <delta_ts>2016-11-21 12:05:23 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-164971.patch</filename>
            <type>text/plain</type>
            <size>9955</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4OTA4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE2LTExLTE4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggZXhjZXB0aW9uIHNjb3BlIHZlcmlmaWNhdGlvbiBmYWlsdXJlcyBpbiBKU0MgcHJvZmlsZXIg
ZmlsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ5NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHByb2ZpbGVyL1Byb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHA6CisgICAgICAgIChKU0M6OlBy
b2ZpbGVyOjpCeXRlY29kZVNlcXVlbmNlOjphZGRTZXF1ZW5jZVByb3BlcnRpZXMpOgorICAgICAg
ICAqIHByb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uY3BwOgorICAgICAgICAoSlNDOjpQcm9m
aWxlcjo6Q29tcGlsYXRpb246OnRvSlMpOgorICAgICAgICAqIHByb2ZpbGVyL1Byb2ZpbGVyRGF0
YWJhc2UuY3BwOgorICAgICAgICAoSlNDOjpQcm9maWxlcjo6RGF0YWJhc2U6OnRvSlMpOgorICAg
ICAgICAoSlNDOjpQcm9maWxlcjo6RGF0YWJhc2U6OnRvSlNPTik6CisgICAgICAgICogcHJvZmls
ZXIvUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHA6CisgICAgICAgIChKU0M6OlByb2ZpbGVyOjpPU1JF
eGl0U2l0ZTo6dG9KUyk6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5j
cHA6CisgICAgICAgIChKU0M6OlByb2ZpbGVyOjpPcmlnaW5TdGFjazo6dG9KUyk6CisKIDIwMTYt
MTEtMTggIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBy
dW50aW1lIGZsYWcgdG8gZW5hYmxlIHBvaW50ZXIgbG9jay4gRW5hYmxlIHBvaW50ZXIgbG9jayBm
ZWF0dXJlIGZvciBtYWMuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJv
ZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcAkocmV2aXNpb24gMjA4
OTA1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQnl0ZWNvZGVT
ZXF1ZW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDE0ICs4MiwxOCBAQCB2b2lkIEJ5dGVj
b2RlU2VxdWVuY2U6OmFkZFNlcXVlbmNlUHJvcGVyCiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOwogICAgIEpTQXJyYXkqIGhlYWRlciA9IGNvbnN0cnVjdEVtcHR5QXJy
YXkoZXhlYywgMCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9oZWFkZXIuc2l6ZSgpOyArK2kpCisgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IG1faGVhZGVyLnNpemUoKTsgKytpKSB7CiAgICAgICAgIGhl
YWRlci0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwganNTdHJpbmcoZXhlYywgU3RyaW5nOjpmcm9t
VVRGOChtX2hlYWRlcltpXSkpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
dm9pZCgpKTsKKyAgICB9CiAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS5oZWFkZXIsIGhlYWRlcik7CiAgICAgCiAgICAgSlNBcnJheSogc2VxdWVuY2UgPSBj
b25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIDApOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIHZvaWQoKSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fc2VxdWVuY2Uuc2l6
ZSgpOyArK2kpCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fc2VxdWVuY2Uuc2l6ZSgp
OyArK2kpIHsKICAgICAgICAgc2VxdWVuY2UtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIG1fc2Vx
dWVuY2VbaV0udG9KUyhleGVjKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHZvaWQoKSk7CisgICAgfQogICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkuYnl0ZWNvZGUsIHNlcXVlbmNlKTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9uLmNwcAkocmV2
aXNpb24gMjA4OTA1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVy
Q29tcGlsYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsMzYgKzEyMyw1NCBAQCBKU1Zh
bHVlIENvbXBpbGF0aW9uOjp0b0pTKEV4ZWNTdGF0ZSogZXhlCiAgICAgCiAgICAgSlNBcnJheSog
cHJvZmlsZWRCeXRlY29kZXMgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIDApOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0gICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG1fcHJvZmlsZWRCeXRlY29kZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgIHByb2Zp
bGVkQnl0ZWNvZGVzLT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBtX3Byb2ZpbGVkQnl0ZWNvZGVz
W2ldLnRvSlMoZXhlYykpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3Byb2ZpbGVk
Qnl0ZWNvZGVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8gdmFsdWUgPSBtX3Byb2ZpbGVk
Qnl0ZWNvZGVzW2ldLnRvSlMoZXhlYyk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIEpTVmFsdWUoKSk7CisgICAgICAgIHByb2ZpbGVkQnl0ZWNvZGVzLT5wdXREaXJlY3RJbmRl
eChleGVjLCBpLCB2YWx1ZSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpT
VmFsdWUoKSk7CisgICAgfQogICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkucHJvZmlsZWRCeXRlY29kZXMsIHByb2ZpbGVkQnl0ZWNvZGVzKTsKICAgICAKICAg
ICBKU0FycmF5KiBkZXNjcmlwdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIDApOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0gICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1fZGVzY3JpcHRpb25zLnNpemUoKTsgKytpKQotICAgICAgICBkZXNj
cmlwdGlvbnMtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIG1fZGVzY3JpcHRpb25zW2ldLnRvSlMo
ZXhlYykpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2Rlc2NyaXB0aW9ucy5zaXpl
KCk7ICsraSkgeworICAgICAgICBhdXRvIHZhbHVlID0gbV9kZXNjcmlwdGlvbnNbaV0udG9KUyhl
eGVjKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKKyAg
ICAgICAgZGVzY3JpcHRpb25zLT5wdXREaXJlY3RJbmRleChleGVjLCBpLCB2YWx1ZSk7CisgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CisgICAgfQogICAgIHJl
c3VsdC0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuZGVzY3JpcHRpb25zLCBk
ZXNjcmlwdGlvbnMpOwogICAgIAogICAgIEpTQXJyYXkqIGNvdW50ZXJzID0gY29uc3RydWN0RW1w
dHlBcnJheShleGVjLCAwKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVl
KCkpOwogICAgIGZvciAoYXV0byBpdCA9IG1fY291bnRlcnMuYmVnaW4oKSwgZW5kID0gbV9jb3Vu
dGVycy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIEpTT2JqZWN0KiBjb3VudGVy
RW50cnkgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjKTsKLSAgICAgICAgY291bnRlckVudHJ5
LT5wdXREaXJlY3Qodm0sIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5vcmlnaW4sIGl0LT5rZXkudG9K
UyhleGVjKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7
CisgICAgICAgIGF1dG8gdmFsdWUgPSBpdC0+a2V5LnRvSlMoZXhlYyk7CisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CisgICAgICAgIGNvdW50ZXJFbnRyeS0+
cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkub3JpZ2luLCB2YWx1ZSk7CiAgICAg
ICAgIGNvdW50ZXJFbnRyeS0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuZXhl
Y3V0aW9uQ291bnQsIGpzTnVtYmVyKGl0LT52YWx1ZS0+Y291bnQoKSkpOwogICAgICAgICBjb3Vu
dGVycy0+cHVzaChleGVjLCBjb3VudGVyRW50cnkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwogICAgIH0KICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwg
ZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvdW50ZXJzLCBjb3VudGVycyk7CiAgICAgCiAgICAgSlNB
cnJheSogZXhpdFNpdGVzID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjLCAwKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwotICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX29zckV4aXRTaXRlcy5zaXplKCk7ICsraSkKLSAgICAgICAgZXhpdFNpdGVzLT5w
dXREaXJlY3RJbmRleChleGVjLCBpLCBtX29zckV4aXRTaXRlc1tpXS50b0pTKGV4ZWMpKTsKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9vc3JFeGl0U2l0ZXMuc2l6ZSgpOyArK2kpIHsK
KyAgICAgICAgYXV0byB2YWx1ZSA9IG1fb3NyRXhpdFNpdGVzW2ldLnRvSlMoZXhlYyk7CisgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CisgICAgICAgIGV4aXRT
aXRlcy0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwgdmFsdWUpOworICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOworICAgIH0KICAgICByZXN1bHQtPnB1dERpcmVj
dCh2bSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLm9zckV4aXRTaXRlcywgZXhpdFNpdGVzKTsKICAg
ICAKICAgICBKU0FycmF5KiBleGl0cyA9IGNvbnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgMCk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9vc3JFeGl0cy5zaXplKCk7ICsraSkKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9vc3JFeGl0cy5zaXplKCk7ICsraSkgewogICAgICAgICBleGl0cy0+cHV0
RGlyZWN0SW5kZXgoZXhlYywgaSwgbV9vc3JFeGl0c1tpXS50b0pTKGV4ZWMpKTsKKyAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKKyAgICB9CiAgICAgcmVzdWx0
LT5wdXREaXJlY3Qodm0sIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5vc3JFeGl0cywgZXhpdHMpOwog
ICAgIAogICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubnVt
SW5saW5lZEdldEJ5SWRzLCBqc051bWJlcihtX251bUlubGluZWRHZXRCeUlkcykpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyRGF0YWJhc2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckRhdGFiYXNl
LmNwcAkocmV2aXNpb24gMjA4OTA1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L1Byb2ZpbGVyRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsMjAgKzEwNSwzMiBA
QCBKU1ZhbHVlIERhdGFiYXNlOjp0b0pTKEV4ZWNTdGF0ZSogZXhlYykgCiAgICAgCiAgICAgSlNB
cnJheSogYnl0ZWNvZGVzID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjLCAwKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwotICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX2J5dGVjb2Rlcy5zaXplKCk7ICsraSkKLSAgICAgICAgYnl0ZWNvZGVzLT5wdXRE
aXJlY3RJbmRleChleGVjLCBpLCBtX2J5dGVjb2Rlc1tpXS50b0pTKGV4ZWMpKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9ieXRlY29kZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAg
YXV0byB2YWx1ZSA9IG1fYnl0ZWNvZGVzW2ldLnRvSlMoZXhlYyk7CisgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CisgICAgICAgIGJ5dGVjb2Rlcy0+cHV0RGly
ZWN0SW5kZXgoZXhlYywgaSwgdmFsdWUpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBKU1ZhbHVlKCkpOworICAgIH0KICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZXhlYy0+
cHJvcGVydHlOYW1lcygpLmJ5dGVjb2RlcywgYnl0ZWNvZGVzKTsKICAgICAKICAgICBKU0FycmF5
KiBjb21waWxhdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIDApOwogICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fY29tcGlsYXRpb25zLnNpemUoKTsgKytpKQotICAgICAgICBjb21waWxhdGlvbnMt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIG1fY29tcGlsYXRpb25zW2ldLT50b0pTKGV4ZWMpKTsK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jb21waWxhdGlvbnMuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgYXV0byB2YWx1ZSA9IG1fY29tcGlsYXRpb25zW2ldLT50b0pTKGV4ZWMpOwor
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOworICAgICAgICBj
b21waWxhdGlvbnMtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIHZhbHVlKTsKKyAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKKyAgICB9CiAgICAgcmVzdWx0LT5w
dXREaXJlY3Qodm0sIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb21waWxhdGlvbnMsIGNvbXBpbGF0
aW9ucyk7CiAgICAgCiAgICAgSlNBcnJheSogZXZlbnRzID0gY29uc3RydWN0RW1wdHlBcnJheShl
eGVjLCAwKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwotICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2V2ZW50cy5zaXplKCk7ICsraSkKLSAgICAgICAg
ZXZlbnRzLT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBtX2V2ZW50c1tpXS50b0pTKGV4ZWMpKTsK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9ldmVudHMuc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgYXV0byB2YWx1ZSA9IG1fZXZlbnRzW2ldLnRvSlMoZXhlYyk7CisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CisgICAgICAgIGV2ZW50cy0+cHV0RGly
ZWN0SW5kZXgoZXhlYywgaSwgdmFsdWUpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBKU1ZhbHVlKCkpOworICAgIH0KICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZXhlYy0+
cHJvcGVydHlOYW1lcygpLmV2ZW50cywgZXZlbnRzKTsKICAgICAKICAgICByZXR1cm4gcmVzdWx0
OwpAQCAtMTI2LDEwICsxMzgsMTQgQEAgSlNWYWx1ZSBEYXRhYmFzZTo6dG9KUyhFeGVjU3RhdGUq
IGV4ZWMpIAogCiBTdHJpbmcgRGF0YWJhc2U6OnRvSlNPTigpIGNvbnN0CiB7CisgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUobV92bSk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IEpTR2xvYmFsT2JqZWN0OjpjcmVhdGUoCiAgICAgICAgIG1fdm0sIEpTR2xv
YmFsT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUobV92bSwganNOdWxsKCkpKTsKLSAgICAKLSAgICBy
ZXR1cm4gSlNPTlN0cmluZ2lmeShnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKSwgdG9KUyhnbG9i
YWxPYmplY3QtPmdsb2JhbEV4ZWMoKSksIDApOworCisgICAgYXV0byB2YWx1ZSA9IHRvSlMoZ2xv
YmFsT2JqZWN0LT5nbG9iYWxFeGVjKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IFN0cmluZygpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7CisgICAgcmV0dXJuIEpTT05TdHJpbmdp
ZnkoZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIHZhbHVlLCAwKTsKIH0KIAogYm9vbCBEYXRh
YmFzZTo6c2F2ZShjb25zdCBjaGFyKiBmaWxlbmFtZSkgY29uc3QKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlck9TUkV4aXRTaXRlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHAJ
KHJldmlzaW9uIDIwODkwNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9m
aWxlck9TUkV4aXRTaXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsOCArNDAsMTAgQEAgSlNW
YWx1ZSBPU1JFeGl0U2l0ZTo6dG9KUyhFeGVjU3RhdGUqIGV4ZQogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RF
bXB0eUFycmF5KGV4ZWMsIDApOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFs
dWUoKSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY29kZUFkZHJlc3Nlcy5zaXpl
KCk7ICsraSkKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jb2RlQWRkcmVzc2VzLnNp
emUoKTsgKytpKSB7CiAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwganNT
dHJpbmcoZXhlYywgdG9TdHJpbmcoUmF3UG9pbnRlcihtX2NvZGVBZGRyZXNzZXNbaV0pKSkpOwor
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOworICAgIH0KICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmls
ZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT3JpZ2luU3RhY2suY3BwCShyZXZpc2lvbiAyMDg5MDUp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw4ICsxMDUsMTAgQEAgSlNWYWx1ZSBPcmlnaW5TdGFj
azo6dG9KUyhFeGVjU3RhdGUqIGV4ZQogICAgIEpTQXJyYXkqIHJlc3VsdCA9IGNvbnN0cnVjdEVt
cHR5QXJyYXkoZXhlYywgMCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1
ZSgpKTsKICAgICAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zdGFjay5zaXplKCk7
ICsraSkKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zdGFjay5zaXplKCk7ICsraSkg
ewogICAgICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIG1fc3RhY2tbaV0udG9K
UyhleGVjKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7
CisgICAgfQogICAgIAogICAgIHJldHVybiByZXN1bHQ7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295310</attachid>
            <date>2016-11-21 12:05:23 -0800</date>
            <delta_ts>2016-11-21 15:22:23 -0800</delta_ts>
            <desc>proposed patch: updated to use return { } where possible.</desc>
            <filename>bug-164971.patch</filename>
            <type>text/plain</type>
            <size>10777</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4OTUwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE2LTExLTE4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggZXhjZXB0aW9uIHNjb3BlIHZlcmlmaWNhdGlvbiBmYWlsdXJlcyBpbiBKU0MgcHJvZmlsZXIg
ZmlsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjQ5NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHByb2ZpbGVyL1Byb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHA6CisgICAgICAgIChKU0M6OlBy
b2ZpbGVyOjpCeXRlY29kZVNlcXVlbmNlOjphZGRTZXF1ZW5jZVByb3BlcnRpZXMpOgorICAgICAg
ICAqIHByb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uY3BwOgorICAgICAgICAoSlNDOjpQcm9m
aWxlcjo6Q29tcGlsYXRpb246OnRvSlMpOgorICAgICAgICAqIHByb2ZpbGVyL1Byb2ZpbGVyRGF0
YWJhc2UuY3BwOgorICAgICAgICAoSlNDOjpQcm9maWxlcjo6RGF0YWJhc2U6OnRvSlMpOgorICAg
ICAgICAoSlNDOjpQcm9maWxlcjo6RGF0YWJhc2U6OnRvSlNPTik6CisgICAgICAgICogcHJvZmls
ZXIvUHJvZmlsZXJPU1JFeGl0U2l0ZS5jcHA6CisgICAgICAgIChKU0M6OlByb2ZpbGVyOjpPU1JF
eGl0U2l0ZTo6dG9KUyk6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5j
cHA6CisgICAgICAgIChKU0M6OlByb2ZpbGVyOjpPcmlnaW5TdGFjazo6dG9KUyk6CisKIDIwMTYt
MTEtMjEgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBleGNl
cHRpb24gc2NvcGUgdmVyaWZpY2F0aW9uIGZhaWx1cmVzIGluICpFeGVjdXRhYmxlLmNwcCBmaWxl
cy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckJ5dGVjb2Rl
U2VxdWVuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxl
ci9Qcm9maWxlckJ5dGVjb2RlU2VxdWVuY2UuY3BwCShyZXZpc2lvbiAyMDg5NTApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJCeXRlY29kZVNlcXVlbmNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODIsMTQgKzgyLDE4IEBAIHZvaWQgQnl0ZWNvZGVTZXF1ZW5jZTo6
YWRkU2VxdWVuY2VQcm9wZXIKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CiAgICAgSlNBcnJheSogaGVhZGVyID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjLCAwKTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtX2hlYWRlci5zaXplKCk7ICsraSkKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbV9oZWFkZXIuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgaGVhZGVyLT5wdXREaXJl
Y3RJbmRleChleGVjLCBpLCBqc1N0cmluZyhleGVjLCBTdHJpbmc6OmZyb21VVEY4KG1faGVhZGVy
W2ldKSkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworICAg
IH0KICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmhlYWRl
ciwgaGVhZGVyKTsKICAgICAKICAgICBKU0FycmF5KiBzZXF1ZW5jZSA9IGNvbnN0cnVjdEVtcHR5
QXJyYXkoZXhlYywgMCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsK
LSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zZXF1ZW5jZS5zaXplKCk7ICsraSkKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9zZXF1ZW5jZS5zaXplKCk7ICsraSkgewogICAg
ICAgICBzZXF1ZW5jZS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwgbV9zZXF1ZW5jZVtpXS50b0pT
KGV4ZWMpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAg
ICB9CiAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5ieXRl
Y29kZSwgc2VxdWVuY2UpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmls
ZXIvUHJvZmlsZXJDb21waWxhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uY3BwCShyZXZpc2lvbiAyMDg5NTAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJDb21waWxhdGlvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTExNyw0MiArMTE3LDYwIEBAIEpTVmFsdWUgQ29tcGlsYXRp
b246OnRvSlMoRXhlY1N0YXRlKiBleGUKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU09iamVjdCogcmVzdWx0
ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYyk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgSlNWYWx1ZSgpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwog
ICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuYnl0ZWNvZGVz
SUQsIGpzTnVtYmVyKG1fYnl0ZWNvZGVzLT5pZCgpKSk7CiAgICAgcmVzdWx0LT5wdXREaXJlY3Qo
dm0sIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb21waWxhdGlvbktpbmQsIGpzU3RyaW5nKGV4ZWMs
IFN0cmluZzo6ZnJvbVVURjgodG9DU3RyaW5nKG1fa2luZCkpKSk7CiAgICAgCiAgICAgSlNBcnJh
eSogcHJvZmlsZWRCeXRlY29kZXMgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMsIDApOwotICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IG1fcHJvZmlsZWRCeXRlY29kZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgIHBy
b2ZpbGVkQnl0ZWNvZGVzLT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBtX3Byb2ZpbGVkQnl0ZWNv
ZGVzW2ldLnRvSlMoZXhlYykpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvZmlsZWRCeXRlY29kZXMuc2l6ZSgp
OyArK2kpIHsKKyAgICAgICAgYXV0byB2YWx1ZSA9IG1fcHJvZmlsZWRCeXRlY29kZXNbaV0udG9K
UyhleGVjKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAg
ICAgcHJvZmlsZWRCeXRlY29kZXMtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIHZhbHVlKTsKKyAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICB9CiAgICAgcmVzdWx0
LT5wdXREaXJlY3Qodm0sIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm9maWxlZEJ5dGVjb2Rlcywg
cHJvZmlsZWRCeXRlY29kZXMpOwogICAgIAogICAgIEpTQXJyYXkqIGRlc2NyaXB0aW9ucyA9IGNv
bnN0cnVjdEVtcHR5QXJyYXkoZXhlYywgMCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgSlNWYWx1ZSgpKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9kZXNjcmlwdGlv
bnMuc2l6ZSgpOyArK2kpCi0gICAgICAgIGRlc2NyaXB0aW9ucy0+cHV0RGlyZWN0SW5kZXgoZXhl
YywgaSwgbV9kZXNjcmlwdGlvbnNbaV0udG9KUyhleGVjKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgeyB9KTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9kZXNjcmlw
dGlvbnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byB2YWx1ZSA9IG1fZGVzY3JpcHRpb25z
W2ldLnRvSlMoZXhlYyk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7
CisgICAgICAgIGRlc2NyaXB0aW9ucy0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwgdmFsdWUpOwor
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAgIH0KICAgICByZXN1
bHQtPnB1dERpcmVjdCh2bSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmRlc2NyaXB0aW9ucywgZGVz
Y3JpcHRpb25zKTsKICAgICAKICAgICBKU0FycmF5KiBjb3VudGVycyA9IGNvbnN0cnVjdEVtcHR5
QXJyYXkoZXhlYywgMCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgp
KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIGZvciAoYXV0byBp
dCA9IG1fY291bnRlcnMuYmVnaW4oKSwgZW5kID0gbV9jb3VudGVycy5lbmQoKTsgaXQgIT0gZW5k
OyArK2l0KSB7CiAgICAgICAgIEpTT2JqZWN0KiBjb3VudGVyRW50cnkgPSBjb25zdHJ1Y3RFbXB0
eU9iamVjdChleGVjKTsKLSAgICAgICAgY291bnRlckVudHJ5LT5wdXREaXJlY3Qodm0sIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5vcmlnaW4sIGl0LT5rZXkudG9KUyhleGVjKSk7CisgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgIGF1dG8gdmFsdWUgPSBpdC0+
a2V5LnRvSlMoZXhlYyk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7
CisgICAgICAgIGNvdW50ZXJFbnRyeS0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkub3JpZ2luLCB2YWx1ZSk7CiAgICAgICAgIGNvdW50ZXJFbnRyeS0+cHV0RGlyZWN0KHZtLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkuZXhlY3V0aW9uQ291bnQsIGpzTnVtYmVyKGl0LT52YWx1ZS0+
Y291bnQoKSkpOwogICAgICAgICBjb3VudGVycy0+cHVzaChleGVjLCBjb3VudGVyRW50cnkpOwor
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgIH0KICAgICByZXN1
bHQtPnB1dERpcmVjdCh2bSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvdW50ZXJzLCBjb3VudGVy
cyk7CiAgICAgCiAgICAgSlNBcnJheSogZXhpdFNpdGVzID0gY29uc3RydWN0RW1wdHlBcnJheShl
eGVjLCAwKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwotICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX29zckV4aXRTaXRlcy5zaXplKCk7ICsraSkKLSAg
ICAgICAgZXhpdFNpdGVzLT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBtX29zckV4aXRTaXRlc1tp
XS50b0pTKGV4ZWMpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX29zckV4aXRTaXRlcy5zaXplKCk7ICsraSkgewor
ICAgICAgICBhdXRvIHZhbHVlID0gbV9vc3JFeGl0U2l0ZXNbaV0udG9KUyhleGVjKTsKKyAgICAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgZXhpdFNpdGVzLT5w
dXREaXJlY3RJbmRleChleGVjLCBpLCB2YWx1ZSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIHsgfSk7CisgICAgfQogICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkub3NyRXhpdFNpdGVzLCBleGl0U2l0ZXMpOwogICAgIAogICAgIEpTQXJy
YXkqIGV4aXRzID0gY29uc3RydWN0RW1wdHlBcnJheShleGVjLCAwKTsKLSAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBtX29zckV4aXRzLnNpemUoKTsgKytpKQorICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHsgfSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fb3NyRXhpdHMuc2l6ZSgpOyAr
K2kpIHsKICAgICAgICAgZXhpdHMtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIG1fb3NyRXhpdHNb
aV0udG9KUyhleGVjKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7
CisgICAgfQogICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
b3NyRXhpdHMsIGV4aXRzKTsKICAgICAKICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgZXhlYy0+
cHJvcGVydHlOYW1lcygpLm51bUlubGluZWRHZXRCeUlkcywganNOdW1iZXIobV9udW1JbmxpbmVk
R2V0QnlJZHMpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ckRhdGFiYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmls
ZXIvUHJvZmlsZXJEYXRhYmFzZS5jcHAJKHJldmlzaW9uIDIwODk1MCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTA0LDIxICsxMDQsMzMgQEAgSlNWYWx1ZSBEYXRhYmFzZTo6dG9KUyhFeGVjU3RhdGUqIGV4
ZWMpIAogICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjKTsK
ICAgICAKICAgICBKU0FycmF5KiBieXRlY29kZXMgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGV4ZWMs
IDApOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Ci0gICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fYnl0ZWNvZGVzLnNpemUoKTsgKytpKQotICAgICAgICBi
eXRlY29kZXMtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIG1fYnl0ZWNvZGVzW2ldLnRvSlMoZXhl
YykpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1fYnl0ZWNvZGVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8g
dmFsdWUgPSBtX2J5dGVjb2Rlc1tpXS50b0pTKGV4ZWMpOworICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB7IH0pOworICAgICAgICBieXRlY29kZXMtPnB1dERpcmVjdEluZGV4KGV4
ZWMsIGksIHZhbHVlKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsK
KyAgICB9CiAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5i
eXRlY29kZXMsIGJ5dGVjb2Rlcyk7CiAgICAgCiAgICAgSlNBcnJheSogY29tcGlsYXRpb25zID0g
Y29uc3RydWN0RW1wdHlBcnJheShleGVjLCAwKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBKU1ZhbHVlKCkpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NvbXBpbGF0
aW9ucy5zaXplKCk7ICsraSkKLSAgICAgICAgY29tcGlsYXRpb25zLT5wdXREaXJlY3RJbmRleChl
eGVjLCBpLCBtX2NvbXBpbGF0aW9uc1tpXS0+dG9KUyhleGVjKSk7CisgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgeyB9KTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jb21w
aWxhdGlvbnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byB2YWx1ZSA9IG1fY29tcGlsYXRp
b25zW2ldLT50b0pTKGV4ZWMpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7
IH0pOworICAgICAgICBjb21waWxhdGlvbnMtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIHZhbHVl
KTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICB9CiAgICAg
cmVzdWx0LT5wdXREaXJlY3Qodm0sIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb21waWxhdGlvbnMs
IGNvbXBpbGF0aW9ucyk7CiAgICAgCiAgICAgSlNBcnJheSogZXZlbnRzID0gY29uc3RydWN0RW1w
dHlBcnJheShleGVjLCAwKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVl
KCkpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2V2ZW50cy5zaXplKCk7ICsraSkK
LSAgICAgICAgZXZlbnRzLT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBtX2V2ZW50c1tpXS50b0pT
KGV4ZWMpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBtX2V2ZW50cy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRv
IHZhbHVlID0gbV9ldmVudHNbaV0udG9KUyhleGVjKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgZXZlbnRzLT5wdXREaXJlY3RJbmRleChleGVjLCBp
LCB2YWx1ZSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAg
fQogICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuZXZlbnRz
LCBldmVudHMpOwogICAgIAogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjYsMTAgKzEzOCwxNCBA
QCBKU1ZhbHVlIERhdGFiYXNlOjp0b0pTKEV4ZWNTdGF0ZSogZXhlYykgCiAKIFN0cmluZyBEYXRh
YmFzZTo6dG9KU09OKCkgY29uc3QKIHsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRShtX3ZtKTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gSlNHbG9iYWxP
YmplY3Q6OmNyZWF0ZSgKICAgICAgICAgbV92bSwgSlNHbG9iYWxPYmplY3Q6OmNyZWF0ZVN0cnVj
dHVyZShtX3ZtLCBqc051bGwoKSkpOwotICAgIAotICAgIHJldHVybiBKU09OU3RyaW5naWZ5KGds
b2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpLCB0b0pTKGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygp
KSwgMCk7CisKKyAgICBhdXRvIHZhbHVlID0gdG9KUyhnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMo
KSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgU3RyaW5nKCkpOworICAgIHNjb3Bl
LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gSlNPTlN0cmluZ2lmeShnbG9iYWxPYmplY3QtPmdsb2Jh
bEV4ZWMoKSwgdmFsdWUsIDApOwogfQogCiBib29sIERhdGFiYXNlOjpzYXZlKGNvbnN0IGNoYXIq
IGZpbGVuYW1lKSBjb25zdApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1By
b2ZpbGVyT1NSRXhpdFNpdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9Qcm9maWxlck9TUkV4aXRTaXRlLmNwcAkocmV2aXNpb24gMjA4OTUwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyT1NSRXhpdFNpdGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw5ICszOSwxMSBAQCBKU1ZhbHVlIE9TUkV4aXRTaXRlOjp0b0pT
KEV4ZWNTdGF0ZSogZXhlCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgSlNBcnJheSogcmVzdWx0ID0gY29uc3Ry
dWN0RW1wdHlBcnJheShleGVjLCAwKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBK
U1ZhbHVlKCkpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NvZGVBZGRyZXNzZXMu
c2l6ZSgpOyArK2kpCisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jb2RlQWRkcmVzc2VzLnNpemUoKTsgKytpKSB7CiAg
ICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwganNTdHJpbmcoZXhlYywgdG9T
dHJpbmcoUmF3UG9pbnRlcihtX2NvZGVBZGRyZXNzZXNbaV0pKSkpOworICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwogfQog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFj
ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyT3JpZ2luU3RhY2suY3BwCShyZXZpc2lvbiAyMDg5NTApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXJPcmlnaW5TdGFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEwMywxMCArMTAzLDEyIEBAIEpTVmFsdWUgT3JpZ2luU3RhY2s6OnRvSlMoRXhlY1N0YXRlKiBl
eGUKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKICAgICBKU0FycmF5KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eUFycmF5
KGV4ZWMsIDApOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7Cisg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICAKLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9zdGFjay5zaXplKCk7ICsraSkKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbV9zdGFjay5zaXplKCk7ICsraSkgewogICAgICAgICByZXN1bHQtPnB1dERpcmVj
dEluZGV4KGV4ZWMsIGksIG1fc3RhY2tbaV0udG9KUyhleGVjKSk7CisgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgfQogICAgIAogICAgIHJldHVybiByZXN1bHQ7
CiB9Cg==
</data>
<flag name="review"
          id="317925"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>