<?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>164958</bug_id>
          
          <creation_ts>2016-11-18 14:28:13 -0800</creation_ts>
          <short_desc>Fix missing exception checks in DFGOperations.cpp.</short_desc>
          <delta_ts>2016-11-18 17:46:13 -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>1252869</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-18 14:28:13 -0800</bug_when>
    <thetext>Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252879</commentid>
    <comment_count>1</comment_count>
      <attachid>295196</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-18 14:45:52 -0800</bug_when>
    <thetext>Created attachment 295196
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252883</commentid>
    <comment_count>2</comment_count>
      <attachid>295196</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-11-18 14:54:36 -0800</bug_when>
    <thetext>Comment on attachment 295196
proposed patch.

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGOperations.cpp:144
&gt; +        if (Optional&lt;uint32_t&gt; index = parseIndex(propertyName)) {
&gt; +            scope.release();
&gt;              asObject(baseValue)-&gt;putDirectIndex(exec, index.value(), value, 0, strict ? PutDirectIndexShouldThrow : PutDirectIndexShouldNotThrow);
&gt; -        else
&gt; +        } else
&gt;              asObject(baseValue)-&gt;putDirect(*vm, propertyName, value, slot);
&gt; -    } else
&gt; +    } else {
&gt; +        scope.release();
&gt;          baseValue.put(exec, propertyName, value, slot);
&gt; +    }
&gt;  }

It&apos;s a little sketchy to have a scope.release() not immediately before a return. I think we should switch the if/else format to if/return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252887</commentid>
    <comment_count>3</comment_count>
      <attachid>295198</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-18 15:05:12 -0800</bug_when>
    <thetext>Created attachment 295198
patch for landing.

Thanks for the review.  I applied the suggested change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252990</commentid>
    <comment_count>4</comment_count>
      <attachid>295198</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-18 17:46:08 -0800</bug_when>
    <thetext>Comment on attachment 295198
patch for landing.

Clearing flags on attachment: 295198

Committed r208913: &lt;http://trac.webkit.org/changeset/208913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252991</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-18 17:46:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295196</attachid>
            <date>2016-11-18 14:45:52 -0800</date>
            <delta_ts>2016-11-18 15:05:12 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-164958.patch</filename>
            <type>text/plain</type>
            <size>10168</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4ODkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBA
CisyMDE2LTExLTE4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggbWlzc2luZyBleGNlcHRpb24gY2hlY2tzIGluIERGR09wZXJhdGlvbnMuY3BwLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0OTU4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0
aW9ucy5jcHA6CisKIDIwMTYtMTEtMTggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBHZW5lcmF0b3IgZnVuY3Rpb25zIHNob3Vs
ZCBoYXZlIGEgZGlzcGxheWFibGUgbmFtZSB3aGVuIHNob3duIGluIHN0YWNrIHRyYWNlcwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lv
biAyMDg4OTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNiArMTEwLDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMg
dm9pZCBKSVRfT1BFUkFUSU9OIAogICAgIGlmIChMSUtFTFkocHJvcGVydHkuaXNVSW50MzIoKSkp
IHsKICAgICAgICAgLy8gRGVzcGl0ZSBpdHMgbmFtZSwgSlNWYWx1ZTo6aXNVSW50MzIgd2lsbCBy
ZXR1cm4gdHJ1ZSBvbmx5IGZvciBwb3NpdGl2ZSBib3hlZCBpbnQzMl90OyBhbGwgdGhvc2UgdmFs
dWVzIGFyZSB2YWxpZCBhcnJheSBpbmRpY2VzLgogICAgICAgICBBU1NFUlQoaXNJbmRleChwcm9w
ZXJ0eS5hc1VJbnQzMigpKSk7CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcHV0
QnlWYWw8c3RyaWN0LCBkaXJlY3Q+KGV4ZWMsIGJhc2VWYWx1ZSwgcHJvcGVydHkuYXNVSW50MzIo
KSwgdmFsdWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTE4LDYgKzExOSw3IEBAIEFM
V0FZU19JTkxJTkUgc3RhdGljIHZvaWQgSklUX09QRVJBVElPTiAKICAgICAgICAgZG91YmxlIHBy
b3BlcnR5QXNEb3VibGUgPSBwcm9wZXJ0eS5hc0RvdWJsZSgpOwogICAgICAgICB1aW50MzJfdCBw
cm9wZXJ0eUFzVUludDMyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHByb3BlcnR5QXNEb3VibGUp
OwogICAgICAgICBpZiAocHJvcGVydHlBc0RvdWJsZSA9PSBwcm9wZXJ0eUFzVUludDMyICYmIGlz
SW5kZXgocHJvcGVydHlBc1VJbnQzMikpIHsKKyAgICAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsK
ICAgICAgICAgICAgIHB1dEJ5VmFsPHN0cmljdCwgZGlyZWN0PihleGVjLCBiYXNlVmFsdWUsIHBy
b3BlcnR5QXNVSW50MzIsIHZhbHVlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpA
QCAtMTMwLDEyICsxMzIsMTUgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgdm9pZCBKSVRfT1BFUkFU
SU9OIAogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwgc3RyaWN0KTsKICAgICBp
ZiAoZGlyZWN0KSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgp
KTsKLSAgICAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJv
cGVydHlOYW1lKSkKKyAgICAgICAgaWYgKE9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNl
SW5kZXgocHJvcGVydHlOYW1lKSkgeworICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAg
ICAgICAgICAgYXNPYmplY3QoYmFzZVZhbHVlKS0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaW5kZXgu
dmFsdWUoKSwgdmFsdWUsIDAsIHN0cmljdCA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQ
dXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKLSAgICAgICAgZWxzZQorICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgIGFzT2JqZWN0KGJhc2VWYWx1ZSktPnB1dERpcmVjdCgqdm0sIHByb3Bl
cnR5TmFtZSwgdmFsdWUsIHNsb3QpOwotICAgIH0gZWxzZQorICAgIH0gZWxzZSB7CisgICAgICAg
IHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBwcm9wZXJ0eU5h
bWUsIHZhbHVlLCBzbG90KTsKKyAgICB9CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFZpZXdDbGFz
cz4KQEAgLTE1Miw3ICsxNTcsOCBAQCBjaGFyKiBuZXdUeXBlZEFycmF5V2l0aFNpemUoRXhlY1N0
YXRlKiBlCiAgICAgCiAgICAgaWYgKHZlY3RvcikKICAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2Fz
dDxjaGFyKj4oVmlld0NsYXNzOjpjcmVhdGVXaXRoRmFzdFZlY3RvcihleGVjLCBzdHJ1Y3R1cmUs
IHNpemUsIHZlY3RvcikpOwotICAgIAorCisgICAgc2NvcGUucmVsZWFzZSgpOwogICAgIHJldHVy
biBiaXR3aXNlX2Nhc3Q8Y2hhcio+KFZpZXdDbGFzczo6Y3JlYXRlKGV4ZWMsIHN0cnVjdHVyZSwg
c2l6ZSkpOwogfQogCkBAIC0xODksOCArMTk1LDExIEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBv
cGVyYXRpb25DcmVhdGVUaGkKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7Ci0gICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5j
dGlvblR5cGUpCi0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBqc0Nh
c3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNp
dHkpLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgaWYgKGNv
bnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5jdGlvblR5cGUpIHsKKyAgICAgICAgYXV0byByYXJl
RGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBp
bmxpbmVDYXBhY2l0eSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxw
dHIpOworICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgcmFyZURhdGEt
Pm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpKTsKKyAgICB9CiAKICAgICBK
U1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkucHJvdG90eXBlKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsK
QEAgLTIyMyw2ICsyMzIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blZhCiAKICAgICBpbnQzMl90IGEgPSBvcDEudG9JbnQzMihleGVjKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7
CiAgICAgaW50MzJfdCBiID0gb3AyLnRvSW50MzIoZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc051bWJlcihhICYgYikpOwogfQpAQCAtMjM4LDYgKzI0OCw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmEKIAogICAgIGludDMyX3QgYSA9IG9wMS50
b0ludDMyKGV4ZWMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1Zh
bHVlKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICBpbnQzMl90IGIgPSBvcDIudG9JbnQz
MihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGEgfCBiKSk7CiB9
CkBAIC0yNTMsNiArMjY0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25WYQogCiAgICAgaW50MzJfdCBhID0gb3AxLnRvSW50MzIoZXhlYyk7CiAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgc2NvcGUucmVsZWFzZSgp
OwogICAgIGludDMyX3QgYiA9IG9wMi50b0ludDMyKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNOdW1iZXIoYSBeIGIpKTsKIH0KQEAgLTI2OCw2ICsyODAsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhCiAKICAgICBpbnQzMl90IGEgPSBvcDEu
dG9JbnQzMihleGVjKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNW
YWx1ZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgdWludDMyX3QgYiA9IG9wMi50b1VJ
bnQzMihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGEgPDwgKGIg
JiAweDFmKSkpOwogfQpAQCAtMjgzLDYgKzI5Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uVmEKIAogICAgIGludDMyX3QgYSA9IG9wMS50b0ludDMyKGV4ZWMpOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIHNj
b3BlLnJlbGVhc2UoKTsKICAgICB1aW50MzJfdCBiID0gb3AyLnRvVUludDMyKGV4ZWMpOwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoYSA+PiAoYiAmIDB4MWYpKSk7CiB9CkBA
IC0yOTgsNiArMzEyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25W
YQogCiAgICAgdWludDMyX3QgYSA9IG9wMS50b1VJbnQzMihleGVjKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7
CiAgICAgdWludDMyX3QgYiA9IG9wMi50b1VJbnQzMihleGVjKTsKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KGEgPj4gKGIgJiAweDFmKSkp
KTsKIH0KQEAgLTMyOSw2ICszNDQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblZhCiAKICAgICBkb3VibGUgYSA9IG9wMS50b051bWJlcihleGVjKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBzY29wZS5yZWxl
YXNlKCk7CiAgICAgZG91YmxlIGIgPSBvcDIudG9OdW1iZXIoZXhlYyk7CiAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc051bWJlcihhIC8gYikpOwogfQpAQCAtNTA2LDEzICs1MjIsMTcgQEAg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZQogICAgIGlmIChMSUtFTFko
YmFzZVZhbHVlLmlzQ2VsbCgpKSkgewogICAgICAgICBKU0NlbGwqIGJhc2UgPSBiYXNlVmFsdWUu
YXNDZWxsKCk7CiAKLSAgICAgICAgaWYgKHByb3BlcnR5LmlzVUludDMyKCkpCisgICAgICAgIGlm
IChwcm9wZXJ0eS5pc1VJbnQzMigpKSB7CisgICAgICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAg
ICAgICAgICAgICByZXR1cm4gZ2V0QnlWYWwoZXhlYywgYmFzZSwgcHJvcGVydHkuYXNVSW50MzIo
KSk7Ci0gICAgICAgIGVsc2UgaWYgKHByb3BlcnR5LmlzRG91YmxlKCkpIHsKKyAgICAgICAgfQor
ICAgICAgICBpZiAocHJvcGVydHkuaXNEb3VibGUoKSkgewogICAgICAgICAgICAgZG91YmxlIHBy
b3BlcnR5QXNEb3VibGUgPSBwcm9wZXJ0eS5hc0RvdWJsZSgpOwogICAgICAgICAgICAgdWludDMy
X3QgcHJvcGVydHlBc1VJbnQzMiA9IHN0YXRpY19jYXN0PHVpbnQzMl90Pihwcm9wZXJ0eUFzRG91
YmxlKTsKLSAgICAgICAgICAgIGlmIChwcm9wZXJ0eUFzVUludDMyID09IHByb3BlcnR5QXNEb3Vi
bGUgJiYgaXNJbmRleChwcm9wZXJ0eUFzVUludDMyKSkKKyAgICAgICAgICAgIGlmIChwcm9wZXJ0
eUFzVUludDMyID09IHByb3BlcnR5QXNEb3VibGUgJiYgaXNJbmRleChwcm9wZXJ0eUFzVUludDMy
KSkgeworICAgICAgICAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZ2V0QnlWYWwoZXhlYywgYmFzZSwgcHJvcGVydHlBc1VJbnQzMik7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkuaXNTdHJpbmcoKSkgewogICAgICAgICAg
ICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAqYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICAgICAg
ICAgIGlmIChKU0NlbGw6OmNhblVzZUZhc3RHZXRPd25Qcm9wZXJ0eShzdHJ1Y3R1cmUpKSB7CkBA
IC01MjgsNiArNTQ4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZQogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAg
IGF1dG8gcHJvcGVydHlOYW1lID0gcHJvcGVydHkudG9Qcm9wZXJ0eUtleShleGVjKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBzY29wZS5y
ZWxlYXNlKCk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShiYXNlVmFsdWUuZ2V0KGV4ZWMs
IHByb3BlcnR5TmFtZSkpOwogfQogCkBAIC05NTQsNiArOTc1LDcgQEAgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25HZQogICAgICAgICBpZiAoaXNKU1N0cmluZyhiYXNlVmFs
dWUpICYmIGFzU3RyaW5nKGJhc2VWYWx1ZSktPmNhbkdldEluZGV4KGkpKQogICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc1N0cmluZyhiYXNlVmFsdWUpLT5nZXRJbmRleChleGVj
LCBpKSk7CiAgICAgICAgIAorICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoYmFzZVZhbHVlLmdldChleGVjLCBpLCBzbG90KSk7CiAgICAgfQog
CkBAIC05NjIsNiArOTg0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25HZQogCiAgICAgYXV0byBwcm9wZXJ0eSA9IHN1YnNjcmlwdC50b1Byb3BlcnR5S2V5KGV4ZWMp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAg
IHNjb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGJhc2VWYWx1ZS5n
ZXQoZXhlYywgcHJvcGVydHksIHNsb3QpKTsKIH0KIApAQCAtOTg5LDYgKzEwMTIsNyBAQCB2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlWYWxXaXRoCiAKICAgICBJZGVudGlmaWVyIHBy
b3BlcnR5ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpLnRvUHJvcGVydHlLZXko
ZXhlYyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICBzY29w
ZS5yZWxlYXNlKCk7CiAgICAgcHV0V2l0aFRoaXM8dHJ1ZT4oZXhlYywgZW5jb2RlZEJhc2UsIGVu
Y29kZWRUaGlzLCBlbmNvZGVkVmFsdWUsIHByb3BlcnR5KTsKIH0KIApAQCAtMTAwMCw2ICsxMDI0
LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsV2l0aAogCiAgICAgSWRl
bnRpZmllciBwcm9wZXJ0eSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KS50b1By
b3BlcnR5S2V5KGV4ZWMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7
CisgICAgc2NvcGUucmVsZWFzZSgpOwogICAgIHB1dFdpdGhUaGlzPGZhbHNlPihleGVjLCBlbmNv
ZGVkQmFzZSwgZW5jb2RlZFRoaXMsIGVuY29kZWRWYWx1ZSwgcHJvcGVydHkpOwogfQogCkBAIC0x
MDIxLDYgKzEwNDYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVmaW5lRGF0YVBy
CiAKICAgICBJZGVudGlmaWVyIHByb3BlcnR5TmFtZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
UHJvcGVydHkpLnRvUHJvcGVydHlLZXkoZXhlYyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgdm9pZCgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgZGVmaW5lRGF0YVByb3Bl
cnR5KGV4ZWMsIHZtLCBiYXNlLCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
VmFsdWUpLCBhdHRyaWJ1dGVzKTsKIH0KIApAQCAtMTAzMiw2ICsxMDU4LDcgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkRlZmluZURhdGFQcgogCiAgICAgSWRlbnRpZmllciBwcm9wZXJ0
eU5hbWUgPSBwcm9wZXJ0eS0+dG9JZGVudGlmaWVyKGV4ZWMpOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAgc2NvcGUucmVsZWFzZSgpOwogICAgIGRlZmluZURh
dGFQcm9wZXJ0eShleGVjLCB2bSwgYmFzZSwgcHJvcGVydHlOYW1lLCBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKSwgYXR0cmlidXRlcyk7CiB9CiAKQEAgLTE5NDMsNiArMTk3MCw3IEBAIEpT
Q2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25TcHJlYWRHZW4KIAogICAgIGlmIChpc0pTQXJy
YXkoaXRlcmFibGUpICYmIGdsb2JhbE9iamVjdC0+aXNBcnJheUl0ZXJhdG9yUHJvdG9jb2xGYXN0
QW5kTm9uT2JzZXJ2YWJsZSgpKSB7CiAgICAgICAgIEpTQXJyYXkqIGFycmF5ID0ganNDYXN0PEpT
QXJyYXkqPihpdGVyYWJsZSk7CisgICAgICAgIHRocm93U2NvcGUucmVsZWFzZSgpOwogICAgICAg
ICByZXR1cm4gSlNGaXhlZEFycmF5OjpjcmVhdGVGcm9tQXJyYXkoZXhlYywgdm0sIGFycmF5KTsK
ICAgICB9CiAKQEAgLTE5NjMsNiArMTk5MSw3IEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVy
YXRpb25TcHJlYWRHZW4KICAgICAgICAgYXJyYXkgPSBqc0Nhc3Q8SlNBcnJheSo+KGFycmF5UmVz
dWx0KTsKICAgICB9CiAKKyAgICB0aHJvd1Njb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4gSlNG
aXhlZEFycmF5OjpjcmVhdGVGcm9tQXJyYXkoZXhlYywgdm0sIGFycmF5KTsKIH0KIApAQCAtMjA0
MCw2ICsyMDY5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZQog
ICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCiAgICAgSWRl
bnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQoZXhlYywgaW1wbCk7CisgICAgdGhy
b3dTY29wZS5yZWxlYXNlKCk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShzY29wZS0+Z2V0
UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBbJl0gKGJvb2wgZm91bmQsIFByb3BlcnR5U2xvdCYg
c2xvdCkgLT4gSlNWYWx1ZSB7CiAgICAgICAgIGlmICghZm91bmQpIHsKICAgICAgICAgICAgIEdl
dFB1dEluZm8gZ2V0UHV0SW5mbyhnZXRQdXRJbmZvQml0cyk7CkBAIC0yMDcxLDYgKzIxMDEsNyBA
QCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0RHluYW1pY1ZhCiAgICAgY29uc3QgSWRl
bnRpZmllciYgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKGV4ZWMsIGltcGwpOwogICAgIEdl
dFB1dEluZm8gZ2V0UHV0SW5mbyhnZXRQdXRJbmZvQml0cyk7CiAgICAgYm9vbCBoYXNQcm9wZXJ0
eSA9IHNjb3BlLT5oYXNQcm9wZXJ0eShleGVjLCBpZGVudCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCB2b2lkKCkpOwogICAgIGlmIChoYXNQcm9wZXJ0eQogICAgICAgICAm
JiBzY29wZS0+aXNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQoKQogICAgICAgICAmJiAhaXNJbml0
aWFsaXphdGlvbihnZXRQdXRJbmZvLmluaXRpYWxpemF0aW9uTW9kZSgpKSkgewpAQCAtMjA5NSw2
ICsyMTI2LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dER5bmFtaWNWYQogICAg
IGVsc2UKICAgICAgICAgc3RyaWN0TW9kZSA9IGV4ZWMtPmNvZGVCbG9jaygpLT5pc1N0cmljdE1v
ZGUoKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChzY29wZSwgc3RyaWN0TW9kZSwgUHV0UHJv
cGVydHlTbG90OjpVbmtub3duQ29udGV4dCwgaXNJbml0aWFsaXphdGlvbihnZXRQdXRJbmZvLmlu
aXRpYWxpemF0aW9uTW9kZSgpKSk7CisgICAgdGhyb3dTY29wZS5yZWxlYXNlKCk7CiAgICAgc2Nv
cGUtPm1ldGhvZFRhYmxlKCktPnB1dChzY29wZSwgZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29k
ZSh2YWx1ZSksIHNsb3QpOwogfQogCg==
</data>
<flag name="review"
          id="317808"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295198</attachid>
            <date>2016-11-18 15:05:12 -0800</date>
            <delta_ts>2016-11-18 17:46:08 -0800</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-164958.patch</filename>
            <type>text/plain</type>
            <size>10233</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4OTAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBA
CisyMDE2LTExLTE4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggbWlzc2luZyBleGNlcHRpb24gY2hlY2tzIGluIERGR09wZXJhdGlvbnMuY3BwLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0OTU4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0
aW9ucy5jcHA6CisKIDIwMTYtMTEtMTggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCBmaXggY2xvb3AuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIwODg5MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTExMCw2ICsxMTAsNyBAQCBBTFdBWVNfSU5MSU5FIHN0YXRpYyB2b2lkIEpJVF9PUEVSQVRJT04g
CiAgICAgaWYgKExJS0VMWShwcm9wZXJ0eS5pc1VJbnQzMigpKSkgewogICAgICAgICAvLyBEZXNw
aXRlIGl0cyBuYW1lLCBKU1ZhbHVlOjppc1VJbnQzMiB3aWxsIHJldHVybiB0cnVlIG9ubHkgZm9y
IHBvc2l0aXZlIGJveGVkIGludDMyX3Q7IGFsbCB0aG9zZSB2YWx1ZXMgYXJlIHZhbGlkIGFycmF5
IGluZGljZXMuCiAgICAgICAgIEFTU0VSVChpc0luZGV4KHByb3BlcnR5LmFzVUludDMyKCkpKTsK
KyAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICBwdXRCeVZhbDxzdHJpY3QsIGRpcmVj
dD4oZXhlYywgYmFzZVZhbHVlLCBwcm9wZXJ0eS5hc1VJbnQzMigpLCB2YWx1ZSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CkBAIC0xMTgsNiArMTE5LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMg
dm9pZCBKSVRfT1BFUkFUSU9OIAogICAgICAgICBkb3VibGUgcHJvcGVydHlBc0RvdWJsZSA9IHBy
b3BlcnR5LmFzRG91YmxlKCk7CiAgICAgICAgIHVpbnQzMl90IHByb3BlcnR5QXNVSW50MzIgPSBz
dGF0aWNfY2FzdDx1aW50MzJfdD4ocHJvcGVydHlBc0RvdWJsZSk7CiAgICAgICAgIGlmIChwcm9w
ZXJ0eUFzRG91YmxlID09IHByb3BlcnR5QXNVSW50MzIgJiYgaXNJbmRleChwcm9wZXJ0eUFzVUlu
dDMyKSkgeworICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICAgICAgcHV0QnlW
YWw8c3RyaWN0LCBkaXJlY3Q+KGV4ZWMsIGJhc2VWYWx1ZSwgcHJvcGVydHlBc1VJbnQzMiwgdmFs
dWUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xMzAsMTIgKzEzMiwxNiBA
QCBBTFdBWVNfSU5MSU5FIHN0YXRpYyB2b2lkIEpJVF9PUEVSQVRJT04gCiAgICAgUHV0UHJvcGVy
dHlTbG90IHNsb3QoYmFzZVZhbHVlLCBzdHJpY3QpOwogICAgIGlmIChkaXJlY3QpIHsKICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkpOwotICAgICAgICBpZiAoT3B0
aW9uYWw8dWludDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQorICAgICAg
ICBpZiAoT3B0aW9uYWw8dWludDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9wZXJ0eU5hbWUp
KSB7CisgICAgICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgICAgICBhc09iamVjdChi
YXNlVmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgMCwg
c3RyaWN0ID8gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdyA6IFB1dERpcmVjdEluZGV4U2hvdWxk
Tm90VGhyb3cpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBhc09iamVjdChiYXNlVmFsdWUp
LT5wdXREaXJlY3QoKnZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKLSAgICB9IGVsc2UK
LSAgICAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBhc09iamVjdChiYXNlVmFs
dWUpLT5wdXREaXJlY3QoKnZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBzY29wZS5yZWxlYXNlKCk7CisgICAgYmFzZVZhbHVlLnB1dChl
eGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUg
Vmlld0NsYXNzPgpAQCAtMTUyLDcgKzE1OCw4IEBAIGNoYXIqIG5ld1R5cGVkQXJyYXlXaXRoU2l6
ZShFeGVjU3RhdGUqIGUKICAgICAKICAgICBpZiAodmVjdG9yKQogICAgICAgICByZXR1cm4gYml0
d2lzZV9jYXN0PGNoYXIqPihWaWV3Q2xhc3M6OmNyZWF0ZVdpdGhGYXN0VmVjdG9yKGV4ZWMsIHN0
cnVjdHVyZSwgc2l6ZSwgdmVjdG9yKSk7Ci0gICAgCisKKyAgICBzY29wZS5yZWxlYXNlKCk7CiAg
ICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxjaGFyKj4oVmlld0NsYXNzOjpjcmVhdGUoZXhlYywgc3Ry
dWN0dXJlLCBzaXplKSk7CiB9CiAKQEAgLTE4OSw4ICsxOTYsMTEgQEAgSlNDZWxsKiBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBpZiAoY29uc3RydWN0b3ItPnR5cGUoKSA9
PSBKU0Z1bmN0aW9uVHlwZSkKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4
ZWMsIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxp
bmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpKTsKKyAg
ICBpZiAoY29uc3RydWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgeworICAgICAgICBh
dXRvIHJhcmVEYXRhID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRh
KGV4ZWMsIGlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgbnVsbHB0cik7CisgICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBy
YXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgIH0K
IAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5wcm90b3R5cGUpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51
bGxwdHIpOwpAQCAtMjIzLDYgKzIzMyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uVmEKIAogICAgIGludDMyX3QgYSA9IG9wMS50b0ludDMyKGV4ZWMpOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIHNjb3BlLnJl
bGVhc2UoKTsKICAgICBpbnQzMl90IGIgPSBvcDIudG9JbnQzMihleGVjKTsKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGEgJiBiKSk7CiB9CkBAIC0yMzgsNiArMjQ5LDcgQEAg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogCiAgICAgaW50MzJfdCBh
ID0gb3AxLnRvSW50MzIoZXhlYyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5j
b2RlZEpTVmFsdWUoKSk7CisgICAgc2NvcGUucmVsZWFzZSgpOwogICAgIGludDMyX3QgYiA9IG9w
Mi50b0ludDMyKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoYSB8
IGIpKTsKIH0KQEAgLTI1Myw2ICsyNjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblZhCiAKICAgICBpbnQzMl90IGEgPSBvcDEudG9JbnQzMihleGVjKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBzY29wZS5y
ZWxlYXNlKCk7CiAgICAgaW50MzJfdCBiID0gb3AyLnRvSW50MzIoZXhlYyk7CiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc051bWJlcihhIF4gYikpOwogfQpAQCAtMjY4LDYgKzI4MSw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmEKIAogICAgIGludDMyX3Qg
YSA9IG9wMS50b0ludDMyKGV4ZWMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVu
Y29kZWRKU1ZhbHVlKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICB1aW50MzJfdCBiID0g
b3AyLnRvVUludDMyKGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIo
YSA8PCAoYiAmIDB4MWYpKSk7CiB9CkBAIC0yODMsNiArMjk3LDcgQEAgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25WYQogCiAgICAgaW50MzJfdCBhID0gb3AxLnRvSW50MzIo
ZXhlYyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7
CisgICAgc2NvcGUucmVsZWFzZSgpOwogICAgIHVpbnQzMl90IGIgPSBvcDIudG9VSW50MzIoZXhl
Yyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihhID4+IChiICYgMHgxZikp
KTsKIH0KQEAgLTI5OCw2ICszMTMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblZhCiAKICAgICB1aW50MzJfdCBhID0gb3AxLnRvVUludDMyKGV4ZWMpOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIHNjb3BlLnJl
bGVhc2UoKTsKICAgICB1aW50MzJfdCBiID0gb3AyLnRvVUludDMyKGV4ZWMpOwogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8aW50MzJfdD4oYSA+PiAoYiAm
IDB4MWYpKSkpOwogfQpAQCAtMzI5LDYgKzM0NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uVmEKIAogICAgIGRvdWJsZSBhID0gb3AxLnRvTnVtYmVyKGV4ZWMpOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIHNj
b3BlLnJlbGVhc2UoKTsKICAgICBkb3VibGUgYiA9IG9wMi50b051bWJlcihleGVjKTsKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGEgLyBiKSk7CiB9CkBAIC01MDYsMTMgKzUy
MywxNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdlCiAgICAgaWYg
KExJS0VMWShiYXNlVmFsdWUuaXNDZWxsKCkpKSB7CiAgICAgICAgIEpTQ2VsbCogYmFzZSA9IGJh
c2VWYWx1ZS5hc0NlbGwoKTsKIAotICAgICAgICBpZiAocHJvcGVydHkuaXNVSW50MzIoKSkKKyAg
ICAgICAgaWYgKHByb3BlcnR5LmlzVUludDMyKCkpIHsKKyAgICAgICAgICAgIHNjb3BlLnJlbGVh
c2UoKTsKICAgICAgICAgICAgIHJldHVybiBnZXRCeVZhbChleGVjLCBiYXNlLCBwcm9wZXJ0eS5h
c1VJbnQzMigpKTsKLSAgICAgICAgZWxzZSBpZiAocHJvcGVydHkuaXNEb3VibGUoKSkgeworICAg
ICAgICB9CisgICAgICAgIGlmIChwcm9wZXJ0eS5pc0RvdWJsZSgpKSB7CiAgICAgICAgICAgICBk
b3VibGUgcHJvcGVydHlBc0RvdWJsZSA9IHByb3BlcnR5LmFzRG91YmxlKCk7CiAgICAgICAgICAg
ICB1aW50MzJfdCBwcm9wZXJ0eUFzVUludDMyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHByb3Bl
cnR5QXNEb3VibGUpOwotICAgICAgICAgICAgaWYgKHByb3BlcnR5QXNVSW50MzIgPT0gcHJvcGVy
dHlBc0RvdWJsZSAmJiBpc0luZGV4KHByb3BlcnR5QXNVSW50MzIpKQorICAgICAgICAgICAgaWYg
KHByb3BlcnR5QXNVSW50MzIgPT0gcHJvcGVydHlBc0RvdWJsZSAmJiBpc0luZGV4KHByb3BlcnR5
QXNVSW50MzIpKSB7CisgICAgICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICAg
ICAgICAgIHJldHVybiBnZXRCeVZhbChleGVjLCBiYXNlLCBwcm9wZXJ0eUFzVUludDMyKTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eS5pc1N0cmluZygpKSB7CiAg
ICAgICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9ICpiYXNlLT5zdHJ1Y3R1cmUodm0pOwog
ICAgICAgICAgICAgaWYgKEpTQ2VsbDo6Y2FuVXNlRmFzdEdldE93blByb3BlcnR5KHN0cnVjdHVy
ZSkpIHsKQEAgLTUyOCw2ICs1NDksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkdlCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CiAgICAgYXV0byBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eS50b1Byb3BlcnR5S2V5KGV4ZWMp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAg
IHNjb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGJhc2VWYWx1ZS5n
ZXQoZXhlYywgcHJvcGVydHlOYW1lKSk7CiB9CiAKQEAgLTk1NCw2ICs5NzYsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdlCiAgICAgICAgIGlmIChpc0pTU3RyaW5n
KGJhc2VWYWx1ZSkgJiYgYXNTdHJpbmcoYmFzZVZhbHVlKS0+Y2FuR2V0SW5kZXgoaSkpCiAgICAg
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzU3RyaW5nKGJhc2VWYWx1ZSktPmdldElu
ZGV4KGV4ZWMsIGkpKTsKICAgICAgICAgCisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShiYXNlVmFsdWUuZ2V0KGV4ZWMsIGksIHNsb3QpKTsK
ICAgICB9CiAKQEAgLTk2Miw2ICs5ODUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkdlCiAKICAgICBhdXRvIHByb3BlcnR5ID0gc3Vic2NyaXB0LnRvUHJvcGVydHlL
ZXkoZXhlYyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CisgICAgc2NvcGUucmVsZWFzZSgpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYmFz
ZVZhbHVlLmdldChleGVjLCBwcm9wZXJ0eSwgc2xvdCkpOwogfQogCkBAIC05ODksNiArMTAxMyw3
IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbFdpdGgKIAogICAgIElkZW50
aWZpZXIgcHJvcGVydHkgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCkudG9Qcm9w
ZXJ0eUtleShleGVjKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwor
ICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICBwdXRXaXRoVGhpczx0cnVlPihleGVjLCBlbmNvZGVk
QmFzZSwgZW5jb2RlZFRoaXMsIGVuY29kZWRWYWx1ZSwgcHJvcGVydHkpOwogfQogCkBAIC0xMDAw
LDYgKzEwMjUsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlWYWxXaXRoCiAK
ICAgICBJZGVudGlmaWVyIHByb3BlcnR5ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3Jp
cHQpLnRvUHJvcGVydHlLZXkoZXhlYyk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
dm9pZCgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgcHV0V2l0aFRoaXM8ZmFsc2U+KGV4
ZWMsIGVuY29kZWRCYXNlLCBlbmNvZGVkVGhpcywgZW5jb2RlZFZhbHVlLCBwcm9wZXJ0eSk7CiB9
CiAKQEAgLTEwMjEsNiArMTA0Nyw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWZp
bmVEYXRhUHIKIAogICAgIElkZW50aWZpZXIgcHJvcGVydHlOYW1lID0gSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRQcm9wZXJ0eSkudG9Qcm9wZXJ0eUtleShleGVjKTsKICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCB2b2lkKCkpOworICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICBkZWZpbmVE
YXRhUHJvcGVydHkoZXhlYywgdm0sIGJhc2UsIHByb3BlcnR5TmFtZSwgSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRWYWx1ZSksIGF0dHJpYnV0ZXMpOwogfQogCkBAIC0xMDMyLDYgKzEwNTksNyBAQCB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVmaW5lRGF0YVByCiAKICAgICBJZGVudGlmaWVy
IHByb3BlcnR5TmFtZSA9IHByb3BlcnR5LT50b0lkZW50aWZpZXIoZXhlYyk7CiAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAg
ZGVmaW5lRGF0YVByb3BlcnR5KGV4ZWMsIHZtLCBiYXNlLCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkVmFsdWUpLCBhdHRyaWJ1dGVzKTsKIH0KIApAQCAtMTk0Myw2ICsxOTcx
LDcgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNwcmVhZEdlbgogCiAgICAgaWYg
KGlzSlNBcnJheShpdGVyYWJsZSkgJiYgZ2xvYmFsT2JqZWN0LT5pc0FycmF5SXRlcmF0b3JQcm90
b2NvbEZhc3RBbmROb25PYnNlcnZhYmxlKCkpIHsKICAgICAgICAgSlNBcnJheSogYXJyYXkgPSBq
c0Nhc3Q8SlNBcnJheSo+KGl0ZXJhYmxlKTsKKyAgICAgICAgdGhyb3dTY29wZS5yZWxlYXNlKCk7
CiAgICAgICAgIHJldHVybiBKU0ZpeGVkQXJyYXk6OmNyZWF0ZUZyb21BcnJheShleGVjLCB2bSwg
YXJyYXkpOwogICAgIH0KIApAQCAtMTk2Myw2ICsxOTkyLDcgQEAgSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblNwcmVhZEdlbgogICAgICAgICBhcnJheSA9IGpzQ2FzdDxKU0FycmF5Kj4o
YXJyYXlSZXN1bHQpOwogICAgIH0KIAorICAgIHRocm93U2NvcGUucmVsZWFzZSgpOwogICAgIHJl
dHVybiBKU0ZpeGVkQXJyYXk6OmNyZWF0ZUZyb21BcnJheShleGVjLCB2bSwgYXJyYXkpOwogfQog
CkBAIC0yMDQwLDYgKzIwNzAsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdlCiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAK
ICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZChleGVjLCBpbXBsKTsK
KyAgICB0aHJvd1Njb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHNj
b3BlLT5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgaWRlbnQsIFsmXSAoYm9vbCBmb3VuZCwgUHJvcGVy
dHlTbG90JiBzbG90KSAtPiBKU1ZhbHVlIHsKICAgICAgICAgaWYgKCFmb3VuZCkgewogICAgICAg
ICAgICAgR2V0UHV0SW5mbyBnZXRQdXRJbmZvKGdldFB1dEluZm9CaXRzKTsKQEAgLTIwNzEsNiAr
MjEwMiw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXREeW5hbWljVmEKICAgICBj
b25zdCBJZGVudGlmaWVyJiBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQoZXhlYywgaW1wbCk7
CiAgICAgR2V0UHV0SW5mbyBnZXRQdXRJbmZvKGdldFB1dEluZm9CaXRzKTsKICAgICBib29sIGhh
c1Byb3BlcnR5ID0gc2NvcGUtPmhhc1Byb3BlcnR5KGV4ZWMsIGlkZW50KTsKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHZvaWQoKSk7CiAgICAgaWYgKGhhc1Byb3BlcnR5CiAg
ICAgICAgICYmIHNjb3BlLT5pc0dsb2JhbExleGljYWxFbnZpcm9ubWVudCgpCiAgICAgICAgICYm
ICFpc0luaXRpYWxpemF0aW9uKGdldFB1dEluZm8uaW5pdGlhbGl6YXRpb25Nb2RlKCkpKSB7CkBA
IC0yMDk1LDYgKzIxMjcsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0RHluYW1p
Y1ZhCiAgICAgZWxzZQogICAgICAgICBzdHJpY3RNb2RlID0gZXhlYy0+Y29kZUJsb2NrKCktPmlz
U3RyaWN0TW9kZSgpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHNjb3BlLCBzdHJpY3RNb2Rl
LCBQdXRQcm9wZXJ0eVNsb3Q6OlVua25vd25Db250ZXh0LCBpc0luaXRpYWxpemF0aW9uKGdldFB1
dEluZm8uaW5pdGlhbGl6YXRpb25Nb2RlKCkpKTsKKyAgICB0aHJvd1Njb3BlLnJlbGVhc2UoKTsK
ICAgICBzY29wZS0+bWV0aG9kVGFibGUoKS0+cHV0KHNjb3BlLCBleGVjLCBpZGVudCwgSlNWYWx1
ZTo6ZGVjb2RlKHZhbHVlKSwgc2xvdCk7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>