<?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>163085</bug_id>
          
          <creation_ts>2016-10-06 14:19:44 -0700</creation_ts>
          <short_desc>Handle non-function, non-undefined comparator in Array.prototype.sort</short_desc>
          <delta_ts>2016-10-12 12:43:32 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1237349</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-10-06 14:19:44 -0700</bug_when>
    <thetext>This is broken right now, we should fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237359</commentid>
    <comment_count>1</comment_count>
      <attachid>290866</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-10-06 14:33:12 -0700</bug_when>
    <thetext>Created attachment 290866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237361</commentid>
    <comment_count>2</comment_count>
      <attachid>290866</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-06 14:38:12 -0700</bug_when>
    <thetext>Comment on attachment 290866
Patch

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

&gt; Source/JavaScriptCore/builtins/ArrayPrototype.js:650
&gt;      else

How about just checking here like `else if (comparator !== @undefined)`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237364</commentid>
    <comment_count>3</comment_count>
      <attachid>290866</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-10-06 14:41:58 -0700</bug_when>
    <thetext>Comment on attachment 290866
Patch

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

&gt;&gt; Source/JavaScriptCore/builtins/ArrayPrototype.js:650
&gt;&gt;      else
&gt; 
&gt; How about just checking here like `else if (comparator !== @undefined)`?

We need to avoid doing the check if the length of the array is &lt; 2 since that&apos;s observably different behavior from other browsers. Although, we could move that check into the main body instead of the helpers. I&apos;ll make that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237369</commentid>
    <comment_count>4</comment_count>
      <attachid>290868</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-10-06 14:53:21 -0700</bug_when>
    <thetext>Created attachment 290868
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239413</commentid>
    <comment_count>5</comment_count>
      <attachid>291380</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-10-12 12:08:48 -0700</bug_when>
    <thetext>Created attachment 291380
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239434</commentid>
    <comment_count>6</comment_count>
      <attachid>291380</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-12 12:43:29 -0700</bug_when>
    <thetext>Comment on attachment 291380
Patch for landing

Clearing flags on attachment: 291380

Committed r207235: &lt;http://trac.webkit.org/changeset/207235&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239435</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-12 12:43:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290866</attachid>
            <date>2016-10-06 14:33:12 -0700</date>
            <delta_ts>2016-10-06 14:53:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163085-20161006142958.patch</filename>
            <type>text/plain</type>
            <size>3593</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MWE3ZDA5YWYwZDg3MDhjYTE1OTJlMTlmODgyZDFkYTJmMjM3YjE4Li5jYTYwYzg1YWMwMzg2YTk0
NWM0ZWJiMTI4N2RkM2VkODBhNzRmYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxNi0xMC0wNiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBIYW5kbGUgbm9uLWZ1bmN0aW9uLCBub24tdW5kZWZpbmVkIGNvbXBh
cmF0b3IgaW4gQXJyYXkucHJvdG90eXBlLnNvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanM6CisgICAg
ICAgIChzb3J0LnN0cmluZ1NvcnQpOgorICAgICAgICAoc29ydCk6CisKIDIwMTYtMTAtMDUgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gQWRk
IEB0aHJvd1hYWEVycm9yIGJ5dGVjb2RlIGludHJpbnNpYwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzCmluZGV4IDc1YTdhNThmZjVjMDE0NzIz
MTBlYTQxNjljY2RkNjkzYjQyM2IxMGQuLjYxZWIxZjdkMDc3OTgwMzcyNGVmZWIyOWU1Mzk3N2M1
N2NlNTkxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJh
eVByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQ
cm90b3R5cGUuanMKQEAgLTYxOSw3ICs2MTksNyBAQCBmdW5jdGlvbiBzb3J0KGNvbXBhcmF0b3Ip
CiAgICAgICAgIG1lcmdlU29ydChhcnJheSwgdmFsdWVDb3VudCwgY29tcGFyYXRvcik7CiAgICAg
fQogCi0gICAgZnVuY3Rpb24gc3RyaW5nU29ydChhcnJheSkKKyAgICBmdW5jdGlvbiBzdHJpbmdT
b3J0KGFycmF5LCBjb21wYXJhdG9yKQogICAgIHsKICAgICAgICAgdmFyIGxlbmd0aCA9IGFycmF5
Lmxlbmd0aCA+Pj4gMDsKIApAQCAtNjI4LDYgKzYyOCw5IEBAIGZ1bmN0aW9uIHNvcnQoY29tcGFy
YXRvcikKICAgICAgICAgaWYgKGxlbmd0aCA8IDIpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAg
ICAgICAgaWYgKGNvbXBhcmF0b3IgIT09IEB1bmRlZmluZWQpCisgICAgICAgICAgICBAdGhyb3dU
eXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5zb3J0IHJlcXVpcmVzIHRoZSBjb21wYXJzaW9uIGZ1
bmN0aW9uIGJlIGEgZnVuY3Rpb24gb3IgdW5kZWZpbmVkIik7CisKICAgICAgICAgdmFyIHZhbHVl
Q291bnQgPSBjb21wYWN0KGFycmF5LCBsZW5ndGgpOwogCiAgICAgICAgIHZhciBzdHJpbmdzID0g
QG5ld0FycmF5V2l0aFNpemUodmFsdWVDb3VudCk7CkBAIC02NDAsMTUgKzY0MywxMiBAQCBmdW5j
dGlvbiBzb3J0KGNvbXBhcmF0b3IpCiAgICAgaWYgKHRoaXMgPT0gbnVsbCkKICAgICAgICAgQHRo
cm93VHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUuc29ydCByZXF1aXJlcyB0aGF0IHx0aGlzfCBu
b3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTsKIAotICAgIGlmICh0eXBlb2YgdGhpcyA9PSAic3Ry
aW5nIikKLSAgICAgICAgQHRocm93VHlwZUVycm9yKCJBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJl
YWRvbmx5IHByb3BlcnR5LiIpOwotCiAgICAgdmFyIGFycmF5ID0gQE9iamVjdCh0aGlzKTsKIAog
ICAgIGlmICh0eXBlb2YgY29tcGFyYXRvciA9PSAiZnVuY3Rpb24iKQogICAgICAgICBjb21wYXJh
dG9yU29ydChhcnJheSwgY29tcGFyYXRvcik7CiAgICAgZWxzZQotICAgICAgICBzdHJpbmdTb3J0
KGFycmF5KTsKKyAgICAgICAgc3RyaW5nU29ydChhcnJheSwgY29tcGFyYXRvcik7CiAKICAgICBy
ZXR1cm4gYXJyYXk7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDNlNmM1MWJlNzNlNDIwN2Y2Y2Y1ODgyOGVhNDQwZDU5ZDM4MDc3N2Mu
LjZhMTJhMzhjZWU4M2E3NzM3MjQ0NWZmNzBhZjY1YjBjZTg3MTNiMTcgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTYtMTAtMDYgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgSGFuZGxlIG5vbi1mdW5jdGlvbiwgbm9uLXVuZGVmaW5lZCBjb21wYXJhdG9yIGluIEFy
cmF5LnByb3RvdHlwZS5zb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjMwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHN0cmVzcy9hcnJheS1zb3J0LWJhZC1jb21wYXJhdG9yLmpzOiBBZGRlZC4K
KyAgICAgICAgKHRlc3QpOgorCiAyMDE2LTEwLTA1ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50
ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtET01KSVRdIEFkZCBpbml0aWFsIENoZWNrRE9NIGFu
ZCBDYWxsRE9NIGltcGxlbWVudGF0aW9ucwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXJy
YXktc29ydC1iYWQtY29tcGFyYXRvci5qcyBiL0pTVGVzdHMvc3RyZXNzL2FycmF5LXNvcnQtYmFk
LWNvbXBhcmF0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA4MjAzYWUyNmVmNmEyZTJhZjUxZDdiMmU3NGUx
MjU0ZmJjOWIyMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2FycmF5LXNvcnQt
YmFkLWNvbXBhcmF0b3IuanMKQEAgLTAsMCArMSwyOCBAQAorLy9AIHJ1bkRlZmF1bHQKKworZnVu
Y3Rpb24gdGVzdCgpIHsKKyAgICB0cnkgeworICAgICAgICBbMSwyXS5zb3J0KG51bGwpOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gY2F0Y2ggKGVudWxsKSB7fQorICAgIHRyeSB7
CisgICAgICAgIFsxLDJdLnNvcnQodHJ1ZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgfSBjYXRjaCAoZXRydWUpIHt9CisgICAgdHJ5IHsKKyAgICAgICAgWzEsMl0uc29ydCh7fSk7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9IGNhdGNoIChlb2JqKSB7fQorICAgIHRyeSB7
CisgICAgICAgIFsxLDJdLnNvcnQoW10pOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSBj
YXRjaCAoZWFycikge30KKyAgICB0cnkgeworICAgICAgICBbMSwyXS5zb3J0KC9hL2cpOworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfSBjYXRjaCAoZXJlZ2V4KSB7fQorICAgIHJldHVybiB0
cnVlOworfQorCitpZighdGVzdCgpKQorICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJlc3VsdCIp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290868</attachid>
            <date>2016-10-06 14:53:21 -0700</date>
            <delta_ts>2016-10-12 12:05:43 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-163085-20161006145005.patch</filename>
            <type>text/plain</type>
            <size>4388</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MWE3ZDA5YWYwZDg3MDhjYTE1OTJlMTlmODgyZDFkYTJmMjM3YjE4Li5lNDlhYTc5OWRiMGVkOGYx
NjdkM2ZjNDJiMDllYzc5YWU5OWQ3MjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxNi0xMC0wNiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBIYW5kbGUgbm9uLWZ1bmN0aW9uLCBub24tdW5kZWZpbmVkIGNvbXBh
cmF0b3IgaW4gQXJyYXkucHJvdG90eXBlLnNvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3Vr
ZSBTdXp1a2kuCisKKyAgICAgICAgKiBidWlsdGlucy9BcnJheVByb3RvdHlwZS5qczoKKyAgICAg
ICAgKHNvcnQuc3RyaW5nU29ydCk6CisgICAgICAgIChzb3J0KToKKwogMjAxNi0xMC0wNSAgWXVz
dWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXSBBZGQg
QHRocm93WFhYRXJyb3IgYnl0ZWNvZGUgaW50cmluc2ljCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanMKaW5kZXggNzVhN2E1OGZmNWMwMTQ3MjMx
MGVhNDE2OWNjZGQ2OTNiNDIzYjEwZC4uMmI1YjJjZDZkYzJmMzg4MzQ3MGJiZmQ5ODU3MjU0NDg2
NzI1M2IwOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5
UHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheVBy
b3RvdHlwZS5qcwpAQCAtNjA2LDI4ICs2MDYsMTQgQEAgZnVuY3Rpb24gc29ydChjb21wYXJhdG9y
KQogICAgICAgICByZXR1cm4gZHN0OwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGNvbXBhcmF0b3JT
b3J0KGFycmF5LCBjb21wYXJhdG9yKQorICAgIGZ1bmN0aW9uIGNvbXBhcmF0b3JTb3J0KGFycmF5
LCBsZW5ndGgsIGNvbXBhcmF0b3IpCiAgICAgewotICAgICAgICB2YXIgbGVuZ3RoID0gYXJyYXku
bGVuZ3RoID4+PiAwOwotCi0gICAgICAgIC8vIEZvciBjb21wYXRpYmlsaXR5IHdpdGggRmlyZWZv
eCBhbmQgQ2hyb21lLCBkbyBub3RoaW5nIG9ic2VydmFibGUKLSAgICAgICAgLy8gdG8gdGhlIHRh
cmdldCBhcnJheSBpZiBpdCBoYXMgMCBvciAxIHNvcnRhYmxlIHByb3BlcnRpZXMuCi0gICAgICAg
IGlmIChsZW5ndGggPCAyKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIHZhciB2YWx1
ZUNvdW50ID0gY29tcGFjdChhcnJheSwgbGVuZ3RoKTsKICAgICAgICAgbWVyZ2VTb3J0KGFycmF5
LCB2YWx1ZUNvdW50LCBjb21wYXJhdG9yKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBzdHJpbmdT
b3J0KGFycmF5KQorICAgIGZ1bmN0aW9uIHN0cmluZ1NvcnQoYXJyYXksIGxlbmd0aCkKICAgICB7
Ci0gICAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGggPj4+IDA7Ci0KLSAgICAgICAgLy8g
Rm9yIGNvbXBhdGliaWxpdHkgd2l0aCBGaXJlZm94IGFuZCBDaHJvbWUsIGRvIG5vdGhpbmcgb2Jz
ZXJ2YWJsZQotICAgICAgICAvLyB0byB0aGUgdGFyZ2V0IGFycmF5IGlmIGl0IGhhcyAwIG9yIDEg
c29ydGFibGUgcHJvcGVydGllcy4KLSAgICAgICAgaWYgKGxlbmd0aCA8IDIpCi0gICAgICAgICAg
ICByZXR1cm47Ci0KICAgICAgICAgdmFyIHZhbHVlQ291bnQgPSBjb21wYWN0KGFycmF5LCBsZW5n
dGgpOwogCiAgICAgICAgIHZhciBzdHJpbmdzID0gQG5ld0FycmF5V2l0aFNpemUodmFsdWVDb3Vu
dCk7CkBAIC02NDAsMTUgKzYyNiwyMSBAQCBmdW5jdGlvbiBzb3J0KGNvbXBhcmF0b3IpCiAgICAg
aWYgKHRoaXMgPT0gbnVsbCkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJBcnJheS5wcm90b3R5
cGUuc29ydCByZXF1aXJlcyB0aGF0IHx0aGlzfCBub3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTsK
IAotICAgIGlmICh0eXBlb2YgdGhpcyA9PSAic3RyaW5nIikKLSAgICAgICAgQHRocm93VHlwZUVy
cm9yKCJBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHByb3BlcnR5LiIpOwotCiAgICAg
dmFyIGFycmF5ID0gQE9iamVjdCh0aGlzKTsKIAorICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5n
dGggPj4+IDA7CisKKyAgICAvLyBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIEZpcmVmb3ggYW5kIENo
cm9tZSwgZG8gbm90aGluZyBvYnNlcnZhYmxlCisgICAgLy8gdG8gdGhlIHRhcmdldCBhcnJheSBp
ZiBpdCBoYXMgMCBvciAxIHNvcnRhYmxlIHByb3BlcnRpZXMuCisgICAgaWYgKGxlbmd0aCA8IDIp
CisgICAgICAgIHJldHVybiBhcnJheTsKKwogICAgIGlmICh0eXBlb2YgY29tcGFyYXRvciA9PSAi
ZnVuY3Rpb24iKQotICAgICAgICBjb21wYXJhdG9yU29ydChhcnJheSwgY29tcGFyYXRvcik7Cisg
ICAgICAgIGNvbXBhcmF0b3JTb3J0KGFycmF5LCBsZW5ndGgsIGNvbXBhcmF0b3IpOworICAgIGVs
c2UgaWYgKGNvbXBhcmF0b3IgPT09IEB1bmRlZmluZWQpCisgICAgICAgIHN0cmluZ1NvcnQoYXJy
YXksIGxlbmd0aCk7CiAgICAgZWxzZQotICAgICAgICBzdHJpbmdTb3J0KGFycmF5KTsKKyAgICAg
ICAgQHRocm93VHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUuc29ydCByZXF1aXJlcyB0aGUgY29t
cGFyc2lvbiBmdW5jdGlvbiBiZSBhIGZ1bmN0aW9uIG9yIHVuZGVmaW5lZCIpOwogCiAgICAgcmV0
dXJuIGFycmF5OwogfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0No
YW5nZUxvZwppbmRleCAzZTZjNTFiZTczZTQyMDdmNmNmNTg4MjhlYTQ0MGQ1OWQzODA3NzdjLi4x
ZjQxNTYxYzI5OTQ3YmU5Njk0ZmRmZWI0MTliMzk3YjI5OTBlODY5IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDE2LTEwLTA2ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIEhhbmRsZSBub24tZnVuY3Rpb24sIG5vbi11bmRlZmluZWQgY29tcGFyYXRvciBpbiBBcnJh
eS5wcm90b3R5cGUuc29ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYzMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKwor
ICAgICAgICAqIHN0cmVzcy9hcnJheS1zb3J0LWJhZC1jb21wYXJhdG9yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKHRlc3QpOgorCiAyMDE2LTEwLTA1ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgogCiAgICAgICAgIFtET01KSVRdIEFkZCBpbml0aWFsIENoZWNrRE9NIGFuZCBD
YWxsRE9NIGltcGxlbWVudGF0aW9ucwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXJyYXkt
c29ydC1iYWQtY29tcGFyYXRvci5qcyBiL0pTVGVzdHMvc3RyZXNzL2FycmF5LXNvcnQtYmFkLWNv
bXBhcmF0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA4MjAzYWUyNmVmNmEyZTJhZjUxZDdiMmU3NGUxMjU0
ZmJjOWIyMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2FycmF5LXNvcnQtYmFk
LWNvbXBhcmF0b3IuanMKQEAgLTAsMCArMSwyOCBAQAorLy9AIHJ1bkRlZmF1bHQKKworZnVuY3Rp
b24gdGVzdCgpIHsKKyAgICB0cnkgeworICAgICAgICBbMSwyXS5zb3J0KG51bGwpOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gY2F0Y2ggKGVudWxsKSB7fQorICAgIHRyeSB7Cisg
ICAgICAgIFsxLDJdLnNvcnQodHJ1ZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
fSBjYXRjaCAoZXRydWUpIHt9CisgICAgdHJ5IHsKKyAgICAgICAgWzEsMl0uc29ydCh7fSk7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9IGNhdGNoIChlb2JqKSB7fQorICAgIHRyeSB7Cisg
ICAgICAgIFsxLDJdLnNvcnQoW10pOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSBjYXRj
aCAoZWFycikge30KKyAgICB0cnkgeworICAgICAgICBbMSwyXS5zb3J0KC9hL2cpOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfSBjYXRjaCAoZXJlZ2V4KSB7fQorICAgIHJldHVybiB0cnVl
OworfQorCitpZighdGVzdCgpKQorICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJlc3VsdCIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291380</attachid>
            <date>2016-10-12 12:08:48 -0700</date>
            <delta_ts>2016-10-12 12:43:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-163085-20161012120524.patch</filename>
            <type>text/plain</type>
            <size>5033</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MWE3ZDA5YWYwZDg3MDhjYTE1OTJlMTlmODgyZDFkYTJmMjM3YjE4Li5iMjI4MTQyMmM2NjExMmM1
NDZkMzYxODgzNmViODU0ZGVhMjZlNTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNi0xMC0xMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBIYW5kbGUgbm9uLWZ1bmN0aW9uLCBub24tdW5kZWZpbmVkIGNvbXBh
cmF0b3IgaW4gQXJyYXkucHJvdG90eXBlLnNvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3Vr
ZSBTdXp1a2kuCisKKyAgICAgICAgKiBidWlsdGlucy9BcnJheVByb3RvdHlwZS5qczoKKyAgICAg
ICAgKHNvcnQuY29tcGFyYXRvclNvcnQpOgorICAgICAgICAoc29ydC5zdHJpbmdTb3J0KToKKyAg
ICAgICAgKHNvcnQpOgorCiAyMDE2LTEwLTA1ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgogCiAgICAgICAgIFtKU0NdIEFkZCBAdGhyb3dYWFhFcnJvciBieXRlY29kZSBp
bnRyaW5zaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJh
eVByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheVByb3Rv
dHlwZS5qcwppbmRleCA3NWE3YTU4ZmY1YzAxNDcyMzEwZWE0MTY5Y2NkZDY5M2I0MjNiMTBkLi4y
YjViMmNkNmRjMmYzODgzNDcwYmJmZDk4NTcyNTQ0ODY3MjUzYjA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanMKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5UHJvdG90eXBlLmpzCkBAIC02MDYsMjggKzYw
NiwxNCBAQCBmdW5jdGlvbiBzb3J0KGNvbXBhcmF0b3IpCiAgICAgICAgIHJldHVybiBkc3Q7CiAg
ICAgfQogCi0gICAgZnVuY3Rpb24gY29tcGFyYXRvclNvcnQoYXJyYXksIGNvbXBhcmF0b3IpCisg
ICAgZnVuY3Rpb24gY29tcGFyYXRvclNvcnQoYXJyYXksIGxlbmd0aCwgY29tcGFyYXRvcikKICAg
ICB7Ci0gICAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGggPj4+IDA7Ci0KLSAgICAgICAg
Ly8gRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBGaXJlZm94IGFuZCBDaHJvbWUsIGRvIG5vdGhpbmcg
b2JzZXJ2YWJsZQotICAgICAgICAvLyB0byB0aGUgdGFyZ2V0IGFycmF5IGlmIGl0IGhhcyAwIG9y
IDEgc29ydGFibGUgcHJvcGVydGllcy4KLSAgICAgICAgaWYgKGxlbmd0aCA8IDIpCi0gICAgICAg
ICAgICByZXR1cm47Ci0KICAgICAgICAgdmFyIHZhbHVlQ291bnQgPSBjb21wYWN0KGFycmF5LCBs
ZW5ndGgpOwogICAgICAgICBtZXJnZVNvcnQoYXJyYXksIHZhbHVlQ291bnQsIGNvbXBhcmF0b3Ip
OwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHN0cmluZ1NvcnQoYXJyYXkpCisgICAgZnVuY3Rpb24g
c3RyaW5nU29ydChhcnJheSwgbGVuZ3RoKQogICAgIHsKLSAgICAgICAgdmFyIGxlbmd0aCA9IGFy
cmF5Lmxlbmd0aCA+Pj4gMDsKLQotICAgICAgICAvLyBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIEZp
cmVmb3ggYW5kIENocm9tZSwgZG8gbm90aGluZyBvYnNlcnZhYmxlCi0gICAgICAgIC8vIHRvIHRo
ZSB0YXJnZXQgYXJyYXkgaWYgaXQgaGFzIDAgb3IgMSBzb3J0YWJsZSBwcm9wZXJ0aWVzLgotICAg
ICAgICBpZiAobGVuZ3RoIDwgMikKLSAgICAgICAgICAgIHJldHVybjsKLQogICAgICAgICB2YXIg
dmFsdWVDb3VudCA9IGNvbXBhY3QoYXJyYXksIGxlbmd0aCk7CiAKICAgICAgICAgdmFyIHN0cmlu
Z3MgPSBAbmV3QXJyYXlXaXRoU2l6ZSh2YWx1ZUNvdW50KTsKQEAgLTY0MCwxNSArNjI2LDIxIEBA
IGZ1bmN0aW9uIHNvcnQoY29tcGFyYXRvcikKICAgICBpZiAodGhpcyA9PSBudWxsKQogICAgICAg
ICBAdGhyb3dUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5zb3J0IHJlcXVpcmVzIHRoYXQgfHRo
aXN8IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpOwogCi0gICAgaWYgKHR5cGVvZiB0aGlzID09
ICJzdHJpbmciKQotICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIkF0dGVtcHRlZCB0byBhc3NpZ24g
dG8gcmVhZG9ubHkgcHJvcGVydHkuIik7Ci0KICAgICB2YXIgYXJyYXkgPSBAT2JqZWN0KHRoaXMp
OwogCisgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4gMDsKKworICAgIC8vIEZvciBj
b21wYXRpYmlsaXR5IHdpdGggRmlyZWZveCBhbmQgQ2hyb21lLCBkbyBub3RoaW5nIG9ic2VydmFi
bGUKKyAgICAvLyB0byB0aGUgdGFyZ2V0IGFycmF5IGlmIGl0IGhhcyAwIG9yIDEgc29ydGFibGUg
cHJvcGVydGllcy4KKyAgICBpZiAobGVuZ3RoIDwgMikKKyAgICAgICAgcmV0dXJuIGFycmF5Owor
CiAgICAgaWYgKHR5cGVvZiBjb21wYXJhdG9yID09ICJmdW5jdGlvbiIpCi0gICAgICAgIGNvbXBh
cmF0b3JTb3J0KGFycmF5LCBjb21wYXJhdG9yKTsKKyAgICAgICAgY29tcGFyYXRvclNvcnQoYXJy
YXksIGxlbmd0aCwgY29tcGFyYXRvcik7CisgICAgZWxzZSBpZiAoY29tcGFyYXRvciA9PT0gQHVu
ZGVmaW5lZCkKKyAgICAgICAgc3RyaW5nU29ydChhcnJheSwgbGVuZ3RoKTsKICAgICBlbHNlCi0g
ICAgICAgIHN0cmluZ1NvcnQoYXJyYXkpOworICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIkFycmF5
LnByb3RvdHlwZS5zb3J0IHJlcXVpcmVzIHRoZSBjb21wYXJzaW9uIGZ1bmN0aW9uIGJlIGEgZnVu
Y3Rpb24gb3IgdW5kZWZpbmVkIik7CiAKICAgICByZXR1cm4gYXJyYXk7CiB9CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL0NoYWtyYUNvcmUvdGVzdC9BcnJheS9hcnJheV9zb3J0LmJhc2VsaW5lLWpzYyBi
L0pTVGVzdHMvQ2hha3JhQ29yZS90ZXN0L0FycmF5L2FycmF5X3NvcnQuYmFzZWxpbmUtanNjCmlu
ZGV4IDZkZGMwOTg5N2UwOWVkZGY0NDAwNTU3MjRjMjFhY2JmNmVjNDQyM2QuLjg4NTY2M2E5N2Rm
YmJlMDM1MDc0ZWYwYTdkMTAyNGE3YzRhYjc1NDQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hha3Jh
Q29yZS90ZXN0L0FycmF5L2FycmF5X3NvcnQuYmFzZWxpbmUtanNjCisrKyBiL0pTVGVzdHMvQ2hh
a3JhQ29yZS90ZXN0L0FycmF5L2FycmF5X3NvcnQuYmFzZWxpbmUtanNjCkBAIC03LDQgKzcsNSBA
QCBmb3Isc2FtcGxlLHNvbWUsc3RyaW5ncyx0ZXN0aW5nIC0gT3V0cHV0IGRpZmZlcmVudCBpbiBj
c2NyaXB0IGR1ZSB0byBOYU4KIDEsMiwzCiAxMAogMSwxLjIsNCw0LjgsMTIKK1R5cGVFcnJvcjog
QXJyYXkucHJvdG90eXBlLnNvcnQgcmVxdWlyZXMgdGhlIGNvbXBhcnNpb24gZnVuY3Rpb24gYmUg
YSBmdW5jdGlvbiBvciB1bmRlZmluZWQKIDEsMiwzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5n
ZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlNmM1MWJlNzNlNDIwN2Y2Y2Y1ODgyOGVh
NDQwZDU5ZDM4MDc3N2MuLjJmMWMwMjAxMzM1ZGMyMmFmMWMwMWMyODNmOGE4NjQ4YWRkZGQ1MTQg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTYtMTAtMTIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBh
cHBsZS5jb20+CisKKyAgICAgICAgSGFuZGxlIG5vbi1mdW5jdGlvbiwgbm9uLXVuZGVmaW5lZCBj
b21wYXJhdG9yIGluIEFycmF5LnByb3RvdHlwZS5zb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMwODUKKworICAgICAgICBSZXZpZXdlZCBieSBZ
dXN1a2UgU3V6dWtpLgorCisgICAgICAgICogQ2hha3JhQ29yZS90ZXN0L0FycmF5L2FycmF5X3Nv
cnQuYmFzZWxpbmUtanNjOgorICAgICAgICAqIHN0cmVzcy9hcnJheS1zb3J0LWJhZC1jb21wYXJh
dG9yLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorCiAyMDE2LTEwLTA1ICBZdXN1a2UgU3V6
dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtET01KSVRdIEFkZCBpbml0
aWFsIENoZWNrRE9NIGFuZCBDYWxsRE9NIGltcGxlbWVudGF0aW9ucwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9zdHJlc3MvYXJyYXktc29ydC1iYWQtY29tcGFyYXRvci5qcyBiL0pTVGVzdHMvc3RyZXNz
L2FycmF5LXNvcnQtYmFkLWNvbXBhcmF0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA4MjAzYWUyNmVmNmEy
ZTJhZjUxZDdiMmU3NGUxMjU0ZmJjOWIyMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3Ry
ZXNzL2FycmF5LXNvcnQtYmFkLWNvbXBhcmF0b3IuanMKQEAgLTAsMCArMSwyOCBAQAorLy9AIHJ1
bkRlZmF1bHQKKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgICB0cnkgeworICAgICAgICBbMSwyXS5z
b3J0KG51bGwpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gY2F0Y2ggKGVudWxs
KSB7fQorICAgIHRyeSB7CisgICAgICAgIFsxLDJdLnNvcnQodHJ1ZSk7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgfSBjYXRjaCAoZXRydWUpIHt9CisgICAgdHJ5IHsKKyAgICAgICAg
WzEsMl0uc29ydCh7fSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9IGNhdGNoIChlb2Jq
KSB7fQorICAgIHRyeSB7CisgICAgICAgIFsxLDJdLnNvcnQoW10pOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfSBjYXRjaCAoZWFycikge30KKyAgICB0cnkgeworICAgICAgICBbMSwyXS5z
b3J0KC9hL2cpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSBjYXRjaCAoZXJlZ2V4KSB7
fQorICAgIHJldHVybiB0cnVlOworfQorCitpZighdGVzdCgpKQorICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIHJlc3VsdCIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>