<?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>162584</bug_id>
          
          <creation_ts>2016-09-26 16:39:05 -0700</creation_ts>
          <short_desc>Add some needed CatchScopes in code that should not throw.</short_desc>
          <delta_ts>2016-09-27 13:35:55 -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>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>
          <dependson>162588</dependson>
          <blocked>162351</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1233647</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-09-26 16:39:05 -0700</bug_when>
    <thetext>Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233655</commentid>
    <comment_count>1</comment_count>
      <attachid>289893</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-09-26 16:42:29 -0700</bug_when>
    <thetext>Created attachment 289893
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233660</commentid>
    <comment_count>2</comment_count>
      <attachid>289893</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-09-26 16:50:14 -0700</bug_when>
    <thetext>Comment on attachment 289893
proposed patch.

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233667</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-09-26 17:00:09 -0700</bug_when>
    <thetext>Thanks for the review.  I fixed a typo in the ChangeLog before landing.

Landed in r206405: &lt;http://trac.webkit.org/r206405&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233672</commentid>
    <comment_count>4</comment_count>
      <attachid>289893</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-09-26 17:19:37 -0700</bug_when>
    <thetext>Comment on attachment 289893
proposed patch.

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

&gt; Source/JavaScriptCore/jsc.cpp:2549
&gt; +    RETURN_IF_EXCEPTION(scope, 3);

How can GlobalObject::create throw?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233691</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-09-26 19:38:05 -0700</bug_when>
    <thetext>This change appears to have caused two LayoutTests to crash (EWS seems to have caught this, but the patch was landed before results could be verified).

plugins/npruntime/object-from-destroyed-plugin.html
plugins/npruntime/object-from-destroyed-plugin-in-subframe.html

https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK2%20(Tests)/r206406%20(9738)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233694</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-26 19:41:49 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 162588</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233997</commentid>
    <comment_count>7</comment_count>
      <attachid>289893</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-09-27 11:41:07 -0700</bug_when>
    <thetext>Comment on attachment 289893
proposed patch.

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

&gt;&gt; Source/JavaScriptCore/jsc.cpp:2549
&gt;&gt; +    RETURN_IF_EXCEPTION(scope, 3);
&gt; 
&gt; How can GlobalObject::create throw?

I forgot the details of what motivated this change in the first place.  I&apos;ll leave it out for now until the motivation arises again when I turn on exception check verification.

&gt; Source/JavaScriptCore/runtime/ExceptionHelpers.cpp:246
&gt; +    VM&amp; vm = exec-&gt;vm();
&gt; +    auto scope = DECLARE_CATCH_SCOPE(vm);
&gt; +
&gt;      String errorMessage = makeString(errorDescriptionForValue(exec, value)-&gt;value(exec), &apos; &apos;, message);
&gt; +    if (UNLIKELY(scope.exception())) {
&gt; +        scope.clearException();
&gt; +        errorMessage = message;
&gt; +    }

This change appears to need additional support from exception checks that are missing.  I will leave it out for now until I have the missing exception checks in place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234001</commentid>
    <comment_count>8</comment_count>
      <attachid>289989</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-09-27 11:53:47 -0700</bug_when>
    <thetext>Created attachment 289989
Patch for re-landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234043</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-09-27 13:35:55 -0700</bug_when>
    <thetext>Tests are happy.  Revised patch landed in r206459: &lt;http://trac.webkit.org/r206459&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289893</attachid>
            <date>2016-09-26 16:42:29 -0700</date>
            <delta_ts>2016-09-27 11:53:47 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-162584.patch</filename>
            <type>text/plain</type>
            <size>9320</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA2NDAxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBA
CisyMDE2LTA5LTI2ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc29tZSBuZWVkZWQgQ2F0Y2hTY29wZXMgaW4gY29kZSB0aGF0IHNob3VsZCBub3QgdGhyb3cu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI1ODQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9K
U09iamVjdFJlZi5jcHA6CisgICAgICAgIChKU09iamVjdFNldFByb3BlcnR5KToKKyAgICAgICAg
LSBUaGlzIGZ1bmN0aW9uIGFscmVhZHkgaGFuZGxlcyBleGNlcHRpb25zIGluIGl0cyBvd24gd2F5
LiAgV2UncmUgaG9ub3JpbmcgdGhpcworICAgICAgICAgIGNvbnRyYWN0IGFuZCBjYXRjaGluZyBl
eGNlcHRpb25zIGFuZCBwYXNzaW5nIGl0IHRvIHRoZSBoYW5kbGVyLgorCisgICAgICAgICogaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpub3RpZnlEZWJ1Z2dlck9m
VW53aW5kaW5nKToKKyAgICAgICAgLSBUaGUgZGVidWdnZXIgc2hvdWxkIG5vdCBiZSB0aHJvd2lu
ZyBhbnkgZXhjZXB0aW9ucy4KKworICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChydW5KU0Mp
OgorICAgICAgICAtIHRoZSBidWNrIHN0b3BzIGhlcmUuICBUaGVyZSdzIG5vIHJlYXNvbiBhbiBl
eGNlcHRpb24gc2hvdWxkIHByb3BhZ2F0ZSBwYXN0IGhlcmUuCisKKyAgICAgICAgKiBwcm9maWxl
ci9Qcm9maWxlckRhdGFiYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6UHJvZmlsZXI6OkRhdGFiYXNl
OjpzYXZlKToKKyAgICAgICAgLSBJZiBhbiBleGNlcHRpb24gd2FzIHRocm93biB3aGlsZSBzYXZp
bmcgdGhlIGRhdGFiYXNlLCB0aGVyZSdzIG5vdGhpbmcgd2UgY2FuCisgICAgICAgICAgcmVhbGx5
IGRvIGFib3V0IGl0IGFueXdheS4gIEp1c3QgZmFpbCBuaWNlbHkgYW5kIHJldHVybiBmYWxzZS4g
IFRoaXMgaXMgaW4gbGluZQorICAgICAgICAgIHdpdGggZXhpc3RpbmcgZXJyb3IgY2hlY2tpbmcg
Y29kZSBpbiBEYXRhYmFzZTo6c2F2ZSgpIHRoYXQgcmV0dXJucyBmYWxzZSBpZgorICAgICAgICAg
IGl0J3Mgbm90IGFibGUgdG8gb3BlbiB0aGUgZmlsZSB0byBzYXZlIHRvLgorCisgICAgICAgICog
cnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlRXJyb3Ip
OgorICAgICAgICAtIElmIHdlJ3JlIG5vdCBhYmxlIHRvIHN0cmluZ2lmeSB0aGUgZXJyb3IgdmFs
dWUsIHRoZW4gd2UnbGwganVzdCB1c2VkIHRoZQorICAgICAgICAgIHByb3ZpZGVkIG1lc3NhZ2Ug
YXMgdGhlIGVycm9yIHN0cmluZy4gIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBoYXZlIHRoZQor
ICAgICAgICAgIEVycm9yIGZhY3RvcnkgdGhyb3cgYW4gZXhjZXB0aW9uIHRoYXQgc2hhZG93cyB0
aGUgaW50ZW5kZWQgZXhjZXB0aW9uIHRoYXQgdGhlCisgICAgICAgICAgY2xpZW50IHByb2JhYmx5
IHdhbnRzIHRvIHRocm93IChhc3N1bWluZyB0aGF0IHRoYXQncyB3aHkgdGhlIGNsaWVudCBpcyBj
cmVhdGluZworICAgICAgICAgIHRoaXMgRXJyb3Igb2JqZWN0KS4KKworICAgICAgICAqIHJ1bnRp
bWUvSlNNb2R1bGVMb2FkZXIuY3BwOgorICAgICAgICAoSlNDOjpKU01vZHVsZUxvYWRlcjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAtIFRoZSBleGlzdGluZyBjb2RlIGFscmVhZHkgUkVMRUFT
RV9BU1NFUlQgdGhhdCBubyBleGNlcHRpb24gd2FzIHRocm93bi4KKyAgICAgICAgICBIZW5jZSwg
aXQncyBhcHByb3ByaWF0ZSB0byB1c2UgYSBDYXRjaFNjb3BlIGhlcmUuCisKKyAgICAgICAgKiBy
dW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2Zp
bGVyOjpTdGFja0ZyYW1lOjpuYW1lRnJvbUNhbGxlZSk6CisgICAgICAgIC0gVGhlIHNhbXBsaW5n
IHByb2ZpbGVyIGlzIGRvaW5nIGEgVk1JbnF1aXJ5IGdldCBoZXJlLiAgSXQgc2hvdWxkIG5ldmVy
IHRocm93IGFuCisgICAgICAgICAgZXhjZXB0aW9uLiAgSGVuY2UsIHdlJ2xsIGp1c3QgdXNlIGEg
Q2F0Y2hTY29wZSBhbmQgYXNzZXJ0IGFjY29yZGluZ2x5LgorCiAyMDE2LTA5LTI2ICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBFeGNlcHRpb24gdW53aW5kaW5nIGNv
ZGUgc2hvdWxkIHVzZSBhIENhdGNoU2NvcGUgaW5zdGVhZCBvZiBhIFRocm93U2NvcGUuCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24gMjA2NDAxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MzksMTIgKzI1MzksMTUgQEAgdm9p
ZCBDb21tYW5kTGluZTo6cGFyc2VBcmd1bWVudHMoaW50IGFyZwogc3RhdGljIGludCBORVZFUl9J
TkxJTkUgcnVuSlNDKFZNKiB2bSwgQ29tbWFuZExpbmUgb3B0aW9ucykKIHsKICAgICBKU0xvY2tI
b2xkZXIgbG9ja2VyKHZtKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSgq
dm0pOwogCiAgICAgaW50IHJlc3VsdDsKICAgICBpZiAob3B0aW9ucy5tX3Byb2ZpbGUgJiYgIXZt
LT5tX3BlckJ5dGVjb2RlUHJvZmlsZXIpCiAgICAgICAgIHZtLT5tX3BlckJ5dGVjb2RlUHJvZmls
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFByb2ZpbGVyOjpEYXRhYmFzZT4oKnZtKTsKIAogICAgIEds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gR2xvYmFsT2JqZWN0OjpjcmVhdGUoKnZtLCBHbG9i
YWxPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSgqdm0sIGpzTnVsbCgpKSwgb3B0aW9ucy5tX2FyZ3Vt
ZW50cyk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgMyk7CisKICAgICBib29sIHN1
Y2Nlc3MgPSBydW5XaXRoU2NyaXB0cyhnbG9iYWxPYmplY3QsIG9wdGlvbnMubV9zY3JpcHRzLCBv
cHRpb25zLm1fdW5jYXVnaHRFeGNlcHRpb25OYW1lLCBvcHRpb25zLm1fYWx3YXlzRHVtcFVuY2F1
Z2h0RXhjZXB0aW9uLCBvcHRpb25zLm1fZHVtcCwgb3B0aW9ucy5tX21vZHVsZSk7CiAgICAgaWYg
KG9wdGlvbnMubV9pbnRlcmFjdGl2ZSAmJiBzdWNjZXNzKQogICAgICAgICBydW5JbnRlcmFjdGl2
ZShnbG9iYWxPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVj
dFJlZi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVj
dFJlZi5jcHAJKHJldmlzaW9uIDIwNjQwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNPYmplY3RSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksMjAgKzMwOSwyNCBAQCB2b2lk
IEpTT2JqZWN0U2V0UHJvcGVydHkoSlNDb250ZXh0UmVmIGN0CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhjdHgpOwotICAgIEpTTG9ja0hvbGRlciBs
b2NrZXIoZXhlYyk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIg
bG9ja2VyKHZtKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CiAK
ICAgICBKU09iamVjdCoganNPYmplY3QgPSB0b0pTKG9iamVjdCk7CiAgICAgSWRlbnRpZmllciBu
YW1lKHByb3BlcnR5TmFtZS0+aWRlbnRpZmllcigmZXhlYy0+dm0oKSkpOwogICAgIEpTVmFsdWUg
anNWYWx1ZSA9IHRvSlMoZXhlYywgdmFsdWUpOwogCi0gICAgaWYgKGF0dHJpYnV0ZXMgJiYgIWpz
T2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBuYW1lKSkgewotICAgICAgICBQcm9wZXJ0eURlc2Ny
aXB0b3IgZGVzYyhqc1ZhbHVlLCBhdHRyaWJ1dGVzKTsKLSAgICAgICAganNPYmplY3QtPm1ldGhv
ZFRhYmxlKCktPmRlZmluZU93blByb3BlcnR5KGpzT2JqZWN0LCBleGVjLCBuYW1lLCBkZXNjLCBm
YWxzZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoanNPYmpl
Y3QpOwotICAgICAgICBqc09iamVjdC0+bWV0aG9kVGFibGUoKS0+cHV0KGpzT2JqZWN0LCBleGVj
LCBuYW1lLCBqc1ZhbHVlLCBzbG90KTsKKyAgICBib29sIGRvZXNOb3RIYXZlUHJvcGVydHkgPSBh
dHRyaWJ1dGVzICYmICFqc09iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgbmFtZSk7CisgICAgaWYg
KExJS0VMWSghc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAgICAgIGlmIChkb2VzTm90SGF2ZVBy
b3BlcnR5KSB7CisgICAgICAgICAgICBQcm9wZXJ0eURlc2NyaXB0b3IgZGVzYyhqc1ZhbHVlLCBh
dHRyaWJ1dGVzKTsKKyAgICAgICAgICAgIGpzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5kZWZpbmVP
d25Qcm9wZXJ0eShqc09iamVjdCwgZXhlYywgbmFtZSwgZGVzYywgZmFsc2UpOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoanNPYmplY3QpOworICAg
ICAgICAgICAganNPYmplY3QtPm1ldGhvZFRhYmxlKCktPnB1dChqc09iamVjdCwgZXhlYywgbmFt
ZSwganNWYWx1ZSwgc2xvdCk7CisgICAgICAgIH0KICAgICB9Ci0KICAgICBoYW5kbGVFeGNlcHRp
b25JZk5lZWRlZChleGVjLCBleGNlcHRpb24pOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDIwNjQw
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU4MywxNCArNTgzLDE0IEBAIHByaXZhdGU6CiBBTFdBWVNfSU5M
SU5FIHN0YXRpYyB2b2lkIG5vdGlmeURlYnVnZ2VyT2ZVbndpbmRpbmcoQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwotICAgIGF1dG8gdGhyb3dT
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8gY2F0Y2hTY29wZSA9IERF
Q0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwogICAgIGlmIChEZWJ1Z2dlciogZGVidWdnZXIgPSBjYWxs
RnJhbWUtPnZtRW50cnlHbG9iYWxPYmplY3QoKS0+ZGVidWdnZXIoKSkgewogICAgICAgICBTdXNw
ZW5kRXhjZXB0aW9uU2NvcGUgc2NvcGUoJnZtKTsKICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8
SlNGdW5jdGlvbio+KGNhbGxGcmFtZS0+Y2FsbGVlKCkpKQogICAgICAgICAgICAgZGVidWdnZXIt
PnJldHVybkV2ZW50KGNhbGxGcmFtZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGRlYnVn
Z2VyLT5kaWRFeGVjdXRlUHJvZ3JhbShjYWxsRnJhbWUpOwotICAgICAgICBBU1NFUlRfVU5VU0VE
KHRocm93U2NvcGUsICF0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKTsKKyAgICAgICAgQVNTRVJUX1VO
VVNFRChjYXRjaFNjb3BlLCAhY2F0Y2hTY29wZS5leGNlcHRpb24oKSk7CiAgICAgfQogfQogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJEYXRhYmFzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyRGF0
YWJhc2UuY3BwCShyZXZpc2lvbiAyMDY0MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXJEYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNCwxMSArMTM0
LDE3IEBAIFN0cmluZyBEYXRhYmFzZTo6dG9KU09OKCkgY29uc3QKIAogYm9vbCBEYXRhYmFzZTo6
c2F2ZShjb25zdCBjaGFyKiBmaWxlbmFtZSkgY29uc3QKIHsKKyAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9DQVRDSF9TQ09QRShtX3ZtKTsKICAgICBhdXRvIG91dCA9IEZpbGVQcmludFN0cmVhbTo6
b3BlbihmaWxlbmFtZSwgInciKTsKICAgICBpZiAoIW91dCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIAotICAgIG91dC0+cHJpbnQodG9KU09OKCkpOworICAgIFN0cmluZyBkYXRhID0gdG9K
U09OKCk7CisgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgeworICAgICAgICBz
Y29wZS5jbGVhckV4Y2VwdGlvbigpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAg
IG91dC0+cHJpbnQoZGF0YSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwCShyZXZp
c2lvbiAyMDY0MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGNlcHRpb25I
ZWxwZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM2LDcgKzIzNiwxNCBAQCBzdGF0aWMgU3Ry
aW5nIGludmFsaWRQYXJhbWV0ZXJJbnN0YW5jZW9mCiAKIEpTT2JqZWN0KiBjcmVhdGVFcnJvcihF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgRXJy
b3JJbnN0YW5jZTo6U291cmNlQXBwZW5kZXIgYXBwZW5kZXIpCiB7CisgICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisKICAg
ICBTdHJpbmcgZXJyb3JNZXNzYWdlID0gbWFrZVN0cmluZyhlcnJvckRlc2NyaXB0aW9uRm9yVmFs
dWUoZXhlYywgdmFsdWUpLT52YWx1ZShleGVjKSwgJyAnLCBtZXNzYWdlKTsKKyAgICBpZiAoVU5M
SUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAgICAgIHNjb3BlLmNsZWFyRXhjZXB0aW9u
KCk7CisgICAgICAgIGVycm9yTWVzc2FnZSA9IG1lc3NhZ2U7CisgICAgfQogICAgIEpTT2JqZWN0
KiBleGNlcHRpb24gPSBjcmVhdGVUeXBlRXJyb3IoZXhlYywgZXJyb3JNZXNzYWdlLCBhcHBlbmRl
ciwgcnVudGltZVR5cGVGb3JWYWx1ZSh2YWx1ZSkpOwogICAgIEFTU0VSVChleGNlcHRpb24tPmlz
RXJyb3JJbnN0YW5jZSgpKTsKICAgICByZXR1cm4gZXhjZXB0aW9uOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmNwcAkocmV2aXNpb24g
MjA2NDAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVMb2FkZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw5ICs1NywxMCBAQCBKU01vZHVsZUxvYWRlcjo6SlNN
b2R1bGVMb2FkZXIoVk0mIHZtLCBTCiAKIHZvaWQgSlNNb2R1bGVMb2FkZXI6OmZpbmlzaENyZWF0
aW9uKEV4ZWNTdGF0ZSogZXhlYywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogeworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKwogICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7Ci0g
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEpTTWFwKiBtYXAg
PSBKU01hcDo6Y3JlYXRlKGV4ZWMsIHZtLCBnbG9iYWxPYmplY3QtPm1hcFN0cnVjdHVyZSgpKTsK
ICAgICBSRUxFQVNFX0FTU0VSVCghc2NvcGUuZXhjZXB0aW9uKCkpOwogICAgIHB1dERpcmVjdCh2
bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJyZWdpc3RyeSIpLCBtYXApOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5j
cHAJKHJldmlzaW9uIDIwNjQwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nh
bXBsaW5nUHJvZmlsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTEsMTEgKzU5MSwxNCBAQCBT
dHJpbmcgU2FtcGxpbmdQcm9maWxlcjo6U3RhY2tGcmFtZTo6bmFtCiAgICAgaWYgKCFjYWxsZWUp
CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAorICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NB
VENIX1NDT1BFKHZtKTsKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBjYWxsZWUtPmdsb2JhbE9iamVj
dCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgYXV0byBnZXRQcm9wZXJ0eUlmUHVyZU9wZXJhdGlvbiA9
IFsmXSAoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpIC0+IFN0cmluZyB7CiAgICAgICAgIFByb3Bl
cnR5U2xvdCBzbG90KGNhbGxlZSwgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZN
SW5xdWlyeSk7CiAgICAgICAgIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUoaWRlbnQpOwotICAg
ICAgICBpZiAoY2FsbGVlLT5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgcHJvcGVydHlOYW1lLCBzbG90
KSkgeworICAgICAgICBib29sIGhhc1Byb3BlcnR5ID0gY2FsbGVlLT5nZXRQcm9wZXJ0eVNsb3Qo
ZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChzY29wZSwg
IXNjb3BlLmV4Y2VwdGlvbigpKTsKKyAgICAgICAgaWYgKGhhc1Byb3BlcnR5KSB7CiAgICAgICAg
ICAgICBpZiAoc2xvdC5pc1ZhbHVlKCkpIHsKICAgICAgICAgICAgICAgICBKU1ZhbHVlIG5hbWVW
YWx1ZSA9IHNsb3QuZ2V0VmFsdWUoZXhlYywgcHJvcGVydHlOYW1lKTsKICAgICAgICAgICAgICAg
ICBpZiAoaXNKU1N0cmluZyhuYW1lVmFsdWUpKQo=
</data>
<flag name="review"
          id="313076"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289989</attachid>
            <date>2016-09-27 11:53:47 -0700</date>
            <delta_ts>2016-09-27 11:53:47 -0700</delta_ts>
            <desc>Patch for re-landing.</desc>
            <filename>bug-162584.patch</filename>
            <type>text/plain</type>
            <size>6978</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA2NDQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBA
CisyMDE2LTA5LTI3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc29tZSBuZWVkZWQgQ2F0Y2hTY29wZXMgaW4gY29kZSB0aGF0IHNob3VsZCBub3QgdGhyb3cu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI1ODQK
KworICAgICAgICBSZXZpZXdlZCBieSBLZWl0aCBNaWxsZXIuCisKKyAgICAgICAgUmUtbGFuZGlu
ZyBtaW51cyB0aGUganNjLmNwcCBhbmQgRXhjZXB0aW9uSGVscGVycy5jcHAgY2hhbmdlcy4gIEkn
bGwgYWRkcmVzcworICAgICAgICB0aG9zZSBpbiBhIHN1YnNlcXVlbnQgcGF0Y2ggaWYgdGhlIG5l
ZWQgbWFuaWZlc3RzIGFnYWluIGluIG15IHRlc3RpbmcuCisKKyAgICAgICAgKiBBUEkvSlNPYmpl
Y3RSZWYuY3BwOgorICAgICAgICAoSlNPYmplY3RTZXRQcm9wZXJ0eSk6CisgICAgICAgIC0gVGhp
cyBmdW5jdGlvbiBhbHJlYWR5IGhhbmRsZXMgZXhjZXB0aW9ucyBpbiBpdHMgb3duIHdheS4gIFdl
J3JlIGhvbm9yaW5nIHRoaXMKKyAgICAgICAgICBjb250cmFjdCBhbmQgY2F0Y2hpbmcgZXhjZXB0
aW9ucyBhbmQgcGFzc2luZyBpdCB0byB0aGUgaGFuZGxlci4KKworICAgICAgICAqIGludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6bm90aWZ5RGVidWdnZXJPZlVud2lu
ZGluZyk6CisgICAgICAgIC0gVGhlIGRlYnVnZ2VyIHNob3VsZCBub3QgYmUgdGhyb3dpbmcgYW55
IGV4Y2VwdGlvbnMuCisKKyAgICAgICAgKiBwcm9maWxlci9Qcm9maWxlckRhdGFiYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6UHJvZmlsZXI6OkRhdGFiYXNlOjpzYXZlKToKKyAgICAgICAgLSBJZiBh
biBleGNlcHRpb24gd2FzIHRocm93biB3aGlsZSBzYXZpbmcgdGhlIGRhdGFiYXNlLCB0aGVyZSdz
IG5vdGhpbmcgd2UgY2FuCisgICAgICAgICAgcmVhbGx5IGRvIGFib3V0IGl0IGFueXdheS4gIEp1
c3QgZmFpbCBuaWNlbHkgYW5kIHJldHVybiBmYWxzZS4gIFRoaXMgaXMgaW4gbGluZQorICAgICAg
ICAgIHdpdGggZXhpc3RpbmcgZXJyb3IgY2hlY2tpbmcgY29kZSBpbiBEYXRhYmFzZTo6c2F2ZSgp
IHRoYXQgcmV0dXJucyBmYWxzZSBpZgorICAgICAgICAgIGl0J3Mgbm90IGFibGUgdG8gb3BlbiB0
aGUgZmlsZSB0byBzYXZlIHRvLgorCisgICAgICAgICogcnVudGltZS9KU01vZHVsZUxvYWRlci5j
cHA6CisgICAgICAgIChKU0M6OkpTTW9kdWxlTG9hZGVyOjpmaW5pc2hDcmVhdGlvbik6CisgICAg
ICAgIC0gVGhlIGV4aXN0aW5nIGNvZGUgYWxyZWFkeSBSRUxFQVNFX0FTU0VSVCB0aGF0IG5vIGV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorICAgICAgICAgIEhlbmNlLCBpdCdzIGFwcHJvcHJpYXRlIHRv
IHVzZSBhIENhdGNoU2NvcGUgaGVyZS4KKworICAgICAgICAqIHJ1bnRpbWUvU2FtcGxpbmdQcm9m
aWxlci5jcHA6CisgICAgICAgIChKU0M6OlNhbXBsaW5nUHJvZmlsZXI6OlN0YWNrRnJhbWU6Om5h
bWVGcm9tQ2FsbGVlKToKKyAgICAgICAgLSBUaGUgc2FtcGxpbmcgcHJvZmlsZXIgaXMgZG9pbmcg
YSBWTUlucXVpcnkgZ2V0IGhlcmUuICBJdCBzaG91bGQgbmV2ZXIgdGhyb3cgYW4KKyAgICAgICAg
ICBleGNlcHRpb24uICBIZW5jZSwgd2UnbGwganVzdCB1c2UgYSBDYXRjaFNjb3BlIGFuZCBhc3Nl
cnQgYWNjb3JkaW5nbHkuCisKIDIwMTYtMDktMjcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGRlcHJlY2F0ZWQgRU5DUllQVEVEX01FRElBIGltcGxl
bWVudGF0aW9uLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5j
cHAJKHJldmlzaW9uIDIwNjQ0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksMjAgKzMwOSwyNCBAQCB2b2lkIEpTT2Jq
ZWN0U2V0UHJvcGVydHkoSlNDb250ZXh0UmVmIGN0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhjdHgpOwotICAgIEpTTG9ja0hvbGRlciBsb2NrZXIo
ZXhlYyk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9ja2Vy
KHZtKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CiAKICAgICBK
U09iamVjdCoganNPYmplY3QgPSB0b0pTKG9iamVjdCk7CiAgICAgSWRlbnRpZmllciBuYW1lKHBy
b3BlcnR5TmFtZS0+aWRlbnRpZmllcigmZXhlYy0+dm0oKSkpOwogICAgIEpTVmFsdWUganNWYWx1
ZSA9IHRvSlMoZXhlYywgdmFsdWUpOwogCi0gICAgaWYgKGF0dHJpYnV0ZXMgJiYgIWpzT2JqZWN0
LT5oYXNQcm9wZXJ0eShleGVjLCBuYW1lKSkgewotICAgICAgICBQcm9wZXJ0eURlc2NyaXB0b3Ig
ZGVzYyhqc1ZhbHVlLCBhdHRyaWJ1dGVzKTsKLSAgICAgICAganNPYmplY3QtPm1ldGhvZFRhYmxl
KCktPmRlZmluZU93blByb3BlcnR5KGpzT2JqZWN0LCBleGVjLCBuYW1lLCBkZXNjLCBmYWxzZSk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoanNPYmplY3QpOwot
ICAgICAgICBqc09iamVjdC0+bWV0aG9kVGFibGUoKS0+cHV0KGpzT2JqZWN0LCBleGVjLCBuYW1l
LCBqc1ZhbHVlLCBzbG90KTsKKyAgICBib29sIGRvZXNOb3RIYXZlUHJvcGVydHkgPSBhdHRyaWJ1
dGVzICYmICFqc09iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgbmFtZSk7CisgICAgaWYgKExJS0VM
WSghc2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAgICAgIGlmIChkb2VzTm90SGF2ZVByb3BlcnR5
KSB7CisgICAgICAgICAgICBQcm9wZXJ0eURlc2NyaXB0b3IgZGVzYyhqc1ZhbHVlLCBhdHRyaWJ1
dGVzKTsKKyAgICAgICAgICAgIGpzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5kZWZpbmVPd25Qcm9w
ZXJ0eShqc09iamVjdCwgZXhlYywgbmFtZSwgZGVzYywgZmFsc2UpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoanNPYmplY3QpOworICAgICAgICAg
ICAganNPYmplY3QtPm1ldGhvZFRhYmxlKCktPnB1dChqc09iamVjdCwgZXhlYywgbmFtZSwganNW
YWx1ZSwgc2xvdCk7CisgICAgICAgIH0KICAgICB9Ci0KICAgICBoYW5kbGVFeGNlcHRpb25JZk5l
ZWRlZChleGVjLCBleGNlcHRpb24pOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDIwNjQ0NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU4MywxNCArNTgzLDE0IEBAIHByaXZhdGU6CiBBTFdBWVNfSU5MSU5FIHN0
YXRpYyB2b2lkIG5vdGlmeURlYnVnZ2VyT2ZVbndpbmRpbmcoQ2FsbEZyYW1lKiBjYWxsRnJhbWUp
CiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwotICAgIGF1dG8gdGhyb3dTY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8gY2F0Y2hTY29wZSA9IERFQ0xBUkVf
Q0FUQ0hfU0NPUEUodm0pOwogICAgIGlmIChEZWJ1Z2dlciogZGVidWdnZXIgPSBjYWxsRnJhbWUt
PnZtRW50cnlHbG9iYWxPYmplY3QoKS0+ZGVidWdnZXIoKSkgewogICAgICAgICBTdXNwZW5kRXhj
ZXB0aW9uU2NvcGUgc2NvcGUoJnZtKTsKICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5j
dGlvbio+KGNhbGxGcmFtZS0+Y2FsbGVlKCkpKQogICAgICAgICAgICAgZGVidWdnZXItPnJldHVy
bkV2ZW50KGNhbGxGcmFtZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGRlYnVnZ2VyLT5k
aWRFeGVjdXRlUHJvZ3JhbShjYWxsRnJhbWUpOwotICAgICAgICBBU1NFUlRfVU5VU0VEKHRocm93
U2NvcGUsICF0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChj
YXRjaFNjb3BlLCAhY2F0Y2hTY29wZS5leGNlcHRpb24oKSk7CiAgICAgfQogfQogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJEYXRhYmFzZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyRGF0YWJhc2Uu
Y3BwCShyZXZpc2lvbiAyMDY0NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIv
UHJvZmlsZXJEYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNCwxMSArMTM0LDE3IEBA
IFN0cmluZyBEYXRhYmFzZTo6dG9KU09OKCkgY29uc3QKIAogYm9vbCBEYXRhYmFzZTo6c2F2ZShj
b25zdCBjaGFyKiBmaWxlbmFtZSkgY29uc3QKIHsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9D
QVRDSF9TQ09QRShtX3ZtKTsKICAgICBhdXRvIG91dCA9IEZpbGVQcmludFN0cmVhbTo6b3Blbihm
aWxlbmFtZSwgInciKTsKICAgICBpZiAoIW91dCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IAotICAgIG91dC0+cHJpbnQodG9KU09OKCkpOworICAgIFN0cmluZyBkYXRhID0gdG9KU09OKCk7
CisgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigpKSkgeworICAgICAgICBzY29wZS5j
bGVhckV4Y2VwdGlvbigpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIG91dC0+
cHJpbnQoZGF0YSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01vZHVsZUxvYWRlci5jcHAJKHJldmlzaW9uIDIwNjQ0
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTG9hZGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTcsOSArNTcsMTAgQEAgSlNNb2R1bGVMb2FkZXI6OkpTTW9kdWxl
TG9hZGVyKFZNJiB2bSwgUwogCiB2b2lkIEpTTW9kdWxlTG9hZGVyOjpmaW5pc2hDcmVhdGlvbihF
eGVjU3RhdGUqIGV4ZWMsIFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKIHsK
KyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CisKICAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwotICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU01hcCogbWFwID0gSlNN
YXA6OmNyZWF0ZShleGVjLCB2bSwgZ2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSk7CiAgICAg
UkVMRUFTRV9BU1NFUlQoIXNjb3BlLmV4Y2VwdGlvbigpKTsKICAgICBwdXREaXJlY3Qodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAicmVnaXN0cnkiKSwgbWFwKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCShy
ZXZpc2lvbiAyMDY0NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGlu
Z1Byb2ZpbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkxLDExICs1OTEsMTQgQEAgU3RyaW5n
IFNhbXBsaW5nUHJvZmlsZXI6OlN0YWNrRnJhbWU6Om5hbQogICAgIGlmICghY2FsbGVlKQogICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CiAKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9T
Q09QRSh2bSk7CiAgICAgRXhlY1N0YXRlKiBleGVjID0gY2FsbGVlLT5nbG9iYWxPYmplY3QoKS0+
Z2xvYmFsRXhlYygpOwogICAgIGF1dG8gZ2V0UHJvcGVydHlJZlB1cmVPcGVyYXRpb24gPSBbJl0g
KGNvbnN0IElkZW50aWZpZXImIGlkZW50KSAtPiBTdHJpbmcgewogICAgICAgICBQcm9wZXJ0eVNs
b3Qgc2xvdChjYWxsZWUsIFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVp
cnkpOwogICAgICAgICBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKGlkZW50KTsKLSAgICAgICAg
aWYgKGNhbGxlZS0+Z2V0UHJvcGVydHlTbG90KGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpIHsK
KyAgICAgICAgYm9vbCBoYXNQcm9wZXJ0eSA9IGNhbGxlZS0+Z2V0UHJvcGVydHlTbG90KGV4ZWMs
IHByb3BlcnR5TmFtZSwgc2xvdCk7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoc2NvcGUsICFzY29w
ZS5leGNlcHRpb24oKSk7CisgICAgICAgIGlmIChoYXNQcm9wZXJ0eSkgewogICAgICAgICAgICAg
aWYgKHNsb3QuaXNWYWx1ZSgpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSBuYW1lVmFsdWUg
PSBzbG90LmdldFZhbHVlKGV4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgICAgICAgICAgaWYg
KGlzSlNTdHJpbmcobmFtZVZhbHVlKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>