<?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>164275</bug_id>
          
          <creation_ts>2016-11-01 10:05:32 -0700</creation_ts>
          <short_desc>We should not pop from an empty stack in the Wasm function parser.</short_desc>
          <delta_ts>2016-11-02 10:51:24 -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 Nightly 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>1246917</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-11-01 10:05:32 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247209</commentid>
    <comment_count>1</comment_count>
      <attachid>293635</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-11-01 19:59:18 -0700</bug_when>
    <thetext>Created attachment 293635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247338</commentid>
    <comment_count>2</comment_count>
      <attachid>293635</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-11-02 09:12:02 -0700</bug_when>
    <thetext>Comment on attachment 293635
Patch

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

lgtm with one nit.

&gt; Source/JavaScriptCore/wasm/WasmFunctionParser.h:447
&gt; +    m_context.setErrorMessage(makeString(&quot;Attempted to use an stack value when none existed stack in &quot;));

&quot;when none existed stack in&quot; sounds weird. Break after &quot;existed&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247339</commentid>
    <comment_count>3</comment_count>
      <attachid>293635</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-11-02 09:15:29 -0700</bug_when>
    <thetext>Comment on attachment 293635
Patch

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

&gt;&gt; Source/JavaScriptCore/wasm/WasmFunctionParser.h:447
&gt;&gt; +    m_context.setErrorMessage(makeString(&quot;Attempted to use an stack value when none existed stack in &quot;));
&gt; 
&gt; &quot;when none existed stack in&quot; sounds weird. Break after &quot;existed&quot;?

Yeah, idk what I was thinking there. I also don&apos;t need that makeString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247340</commentid>
    <comment_count>4</comment_count>
      <attachid>293663</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-11-02 09:15:44 -0700</bug_when>
    <thetext>Created attachment 293663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247362</commentid>
    <comment_count>5</comment_count>
      <attachid>293663</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-11-02 10:08:14 -0700</bug_when>
    <thetext>Comment on attachment 293663
Patch

Consider using Optional&lt;ExpressionType&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247378</commentid>
    <comment_count>6</comment_count>
      <attachid>293663</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-02 10:51:20 -0700</bug_when>
    <thetext>Comment on attachment 293663
Patch

Clearing flags on attachment: 293663

Committed r208290: &lt;http://trac.webkit.org/changeset/208290&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247379</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-02 10:51:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293635</attachid>
            <date>2016-11-01 19:59:18 -0700</date>
            <delta_ts>2016-11-02 09:15:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164275-20161101195519.patch</filename>
            <type>text/plain</type>
            <size>8618</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4MjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MDQ1YTkzYzBmM2JmODYxZmRjNGFiNWM5MjYyZjdjYzExYmY0MGM5Li42OGJjNGY2NzI3YmE2NjA4
MjBhNDM1NzFiZmEzMjUyMjYwYjEwN2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNSBAQAogMjAxNi0xMS0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBXZSBzaG91bGQgbm90IHBvcCBmcm9tIGFuIGVtcHR5IHN0YWNrIGlu
IHRoZSBXYXNtIGZ1bmN0aW9uIHBhcnNlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NDI3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcHJldmVudHMgYW4gaXNzdWUgaW4gdGhlIHdh
c20gcGFyc2VyIHdoZXJlIHdlIG1pZ2h0CisgICAgICAgIGFjY2lkZW50aWFsbHkgcG9wIGZyb20g
dGhlIGV4cHJlc3Npb24gc3RhY2sgd2l0aG91dCBpZiB0aGVyZQorICAgICAgICBhcmUgbm8gZW50
cmllcy4gSXQgYWxzbyBmaXhlcyBhIHNpbWlsYXIgaXNzdWUgd2l0aCBlbHNlCisgICAgICAgIGJs
b2NrcyB3aGVyZSBhIHVzZXIgbWlnaHQgdHJ5IHRvIHB1dCBhbiBlbHNlIG9uIHRoZSB0b3AgbGV2
ZWwKKyAgICAgICAgb2YgYSBmdW5jdGlvbi4KKworICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5l
cmF0b3IuY3BwOgorICAgICAgICAqIHdhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmg6CisgICAgICAg
IChKU0M6Oldhc206OkZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpXYXNtOjpGdW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6cG9wRXhwcmVzc2lv
blN0YWNrKToKKyAgICAgICAgKiB3YXNtL1dhc21WYWxpZGF0ZS5jcHA6CisgICAgICAgIChKU0M6
Oldhc206OlZhbGlkYXRlOjpzZXRFcnJvck1lc3NhZ2UpOgorCisyMDE2LTExLTAxICBLZWl0aCBN
aWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBhIFdBU00gZnVu
Y3Rpb24gdmFsaWRhdG9yLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYxNzA3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CM0lSR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21C
M0lSR2VuZXJhdG9yLmNwcAppbmRleCAwN2IzMjllOWRjZDQzNWJiZGJkNzZhMDYxODljZmE5NzM2
MGY1NjdkLi4xZGU2ZTI3NzQ0MmMxM2NhZTk5MDE5ZTEwYWM1ZmU2NjJhMTIwY2MxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCkBAIC0y
MTIsNiArMjEyLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBkdW1wKGNvbnN0IFZlY3RvcjxDb250
cm9sVHlwZT4mIGNvbnRyb2xTdGFjaywgY29uc3QgRXhwcmVzc2lvbkxpc3QmIGV4cHJlc3Npb25T
dGFjayk7CiAKKyAgICB2b2lkIHNldEVycm9yTWVzc2FnZShTdHJpbmcmJikgeyBVTlJFQUNIQUJM
RV9GT1JfUExBVEZPUk0oKTsgfQorCiBwcml2YXRlOgogICAgIEV4cHJlc3Npb25UeXBlIGVtaXRD
aGVja0FuZFByZXBhcmVQb2ludGVyKEV4cHJlc3Npb25UeXBlIHBvaW50ZXIsIHVpbnQzMl90IG9m
ZnNldCwgdWludDMyX3Qgc2l6ZU9mT3ApOwogICAgIEV4cHJlc3Npb25UeXBlIGVtaXRMb2FkT3Ao
TG9hZE9wVHlwZSwgT3JpZ2luLCBFeHByZXNzaW9uVHlwZSBwb2ludGVyLCB1aW50MzJfdCBvZmZz
ZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9u
UGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIu
aAppbmRleCA2ZTBmMmIxNGQwNTZmYjljODdhNDMyMzE5YjU2Nzg4NTJmMzNhZGIzLi4yNDc1OGU3
M2RiNTk5NWQ4OWQ4NzUwYWExZDU1OGRjZGI5MjMzMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaApAQCAtNTYsNiArNTYsOCBAQCBwcml2
YXRlOgogICAgIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJOIHBhcnNlVW5yZWFjaGFibGVFeHByZXNz
aW9uKE9wVHlwZSk7CiAgICAgYm9vbCBXQVJOX1VOVVNFRF9SRVRVUk4gdW5pZnlDb250cm9sKFZl
Y3RvcjxFeHByZXNzaW9uVHlwZT4mLCB1bnNpZ25lZCBsZXZlbCk7CiAKKyAgICBib29sIFdBUk5f
VU5VU0VEX1JFVFVSTiBwb3BFeHByZXNzaW9uU3RhY2soRXhwcmVzc2lvblR5cGUmIHJlc3VsdCk7
CisKICAgICBDb250ZXh0JiBtX2NvbnRleHQ7CiAgICAgVmVjdG9yPEV4cHJlc3Npb25UeXBlLCAx
PiBtX2V4cHJlc3Npb25TdGFjazsKICAgICBWZWN0b3I8Q29udHJvbFR5cGU+IG1fY29udHJvbFN0
YWNrOwpAQCAtMTQ0LDggKzE0NiwxNCBAQCBib29sIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+Ojpw
YXJzZUV4cHJlc3Npb24oT3BUeXBlIG9wKQogewogICAgIHN3aXRjaCAob3ApIHsKICAgICBGT1Jf
RUFDSF9XQVNNX0JJTkFSWV9PUChDUkVBVEVfQ0FTRSkgewotICAgICAgICBFeHByZXNzaW9uVHlw
ZSByaWdodCA9IG1fZXhwcmVzc2lvblN0YWNrLnRha2VMYXN0KCk7Ci0gICAgICAgIEV4cHJlc3Np
b25UeXBlIGxlZnQgPSBtX2V4cHJlc3Npb25TdGFjay50YWtlTGFzdCgpOworICAgICAgICBFeHBy
ZXNzaW9uVHlwZSByaWdodDsKKyAgICAgICAgaWYgKCFwb3BFeHByZXNzaW9uU3RhY2socmlnaHQp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIEV4cHJlc3Npb25UeXBlIGxl
ZnQ7CisgICAgICAgIGlmICghcG9wRXhwcmVzc2lvblN0YWNrKGxlZnQpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCiAgICAgICAgIEV4cHJlc3Npb25UeXBlIHJlc3VsdDsKICAgICAgICAg
aWYgKCFtX2NvbnRleHQuYmluYXJ5T3Aoc3RhdGljX2Nhc3Q8QmluYXJ5T3BUeXBlPihvcCksIGxl
ZnQsIHJpZ2h0LCByZXN1bHQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTU0LDkg
KzE2MiwxMiBAQCBib29sIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJlc3Npb24o
T3BUeXBlIG9wKQogICAgIH0KIAogICAgIEZPUl9FQUNIX1dBU01fVU5BUllfT1AoQ1JFQVRFX0NB
U0UpIHsKLSAgICAgICAgRXhwcmVzc2lvblR5cGUgYXJnID0gbV9leHByZXNzaW9uU3RhY2sudGFr
ZUxhc3QoKTsKKyAgICAgICAgRXhwcmVzc2lvblR5cGUgdmFsdWU7CisgICAgICAgIGlmICghcG9w
RXhwcmVzc2lvblN0YWNrKHZhbHVlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
ICAgICBFeHByZXNzaW9uVHlwZSByZXN1bHQ7Ci0gICAgICAgIGlmICghbV9jb250ZXh0LnVuYXJ5
T3Aoc3RhdGljX2Nhc3Q8VW5hcnlPcFR5cGU+KG9wKSwgYXJnLCByZXN1bHQpKQorICAgICAgICBp
ZiAoIW1fY29udGV4dC51bmFyeU9wKHN0YXRpY19jYXN0PFVuYXJ5T3BUeXBlPihvcCksIHZhbHVl
LCByZXN1bHQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBtX2V4cHJlc3Np
b25TdGFjay5hcHBlbmQocmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xNzEsNyAr
MTgyLDEwIEBAIGJvb2wgRnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlRXhwcmVzc2lvbihP
cFR5cGUgb3ApCiAgICAgICAgIGlmICghcGFyc2VWYXJVSW50MzIob2Zmc2V0KSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBFeHByZXNzaW9uVHlwZSBwb2ludGVyID0gbV9l
eHByZXNzaW9uU3RhY2sudGFrZUxhc3QoKTsKKyAgICAgICAgRXhwcmVzc2lvblR5cGUgcG9pbnRl
cjsKKyAgICAgICAgaWYgKCFwb3BFeHByZXNzaW9uU3RhY2socG9pbnRlcikpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgRXhwcmVzc2lvblR5cGUgcmVzdWx0OwogICAgICAg
ICBpZiAoIW1fY29udGV4dC5sb2FkKHN0YXRpY19jYXN0PExvYWRPcFR5cGU+KG9wKSwgcG9pbnRl
ciwgcmVzdWx0LCBvZmZzZXQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTg4LDgg
KzIwMiwxNCBAQCBib29sIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJlc3Npb24o
T3BUeXBlIG9wKQogICAgICAgICBpZiAoIXBhcnNlVmFyVUludDMyKG9mZnNldCkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgRXhwcmVzc2lvblR5cGUgdmFsdWUgPSBtX2V4
cHJlc3Npb25TdGFjay50YWtlTGFzdCgpOwotICAgICAgICBFeHByZXNzaW9uVHlwZSBwb2ludGVy
ID0gbV9leHByZXNzaW9uU3RhY2sudGFrZUxhc3QoKTsKKyAgICAgICAgRXhwcmVzc2lvblR5cGUg
dmFsdWU7CisgICAgICAgIGlmICghcG9wRXhwcmVzc2lvblN0YWNrKHZhbHVlKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBFeHByZXNzaW9uVHlwZSBwb2ludGVyOworICAg
ICAgICBpZiAoIXBvcEV4cHJlc3Npb25TdGFjayhwb2ludGVyKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgICAgICByZXR1cm4gbV9jb250ZXh0LnN0b3JlKHN0YXRpY19jYXN0PFN0
b3JlT3BUeXBlPihvcCksIHBvaW50ZXIsIHZhbHVlLCBvZmZzZXQpOwogICAgIH0KIApAQCAtMjI3
LDcgKzI0Nyw5IEBAIGJvb2wgRnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlRXhwcmVzc2lv
bihPcFR5cGUgb3ApCiAgICAgICAgIHVpbnQzMl90IGluZGV4OwogICAgICAgICBpZiAoIXBhcnNl
VmFyVUludDMyKGluZGV4KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgRXhw
cmVzc2lvblR5cGUgdmFsdWUgPSBtX2V4cHJlc3Npb25TdGFjay50YWtlTGFzdCgpOworICAgICAg
ICBFeHByZXNzaW9uVHlwZSB2YWx1ZTsKKyAgICAgICAgaWYgKCFwb3BFeHByZXNzaW9uU3RhY2so
dmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXR1cm4gbV9jb250
ZXh0LnNldExvY2FsKGluZGV4LCB2YWx1ZSk7CiAgICAgfQogCkBAIC0yODQsNyArMzA2LDEwIEBA
IGJvb2wgRnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlRXhwcmVzc2lvbihPcFR5cGUgb3Ap
CiAgICAgICAgIGlmICghcGFyc2VWYWx1ZVR5cGUoaW5saW5lU2lnbmF0dXJlKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBFeHByZXNzaW9uVHlwZSBjb25kaXRpb24gPSBt
X2V4cHJlc3Npb25TdGFjay50YWtlTGFzdCgpOworICAgICAgICBFeHByZXNzaW9uVHlwZSBjb25k
aXRpb247CisgICAgICAgIGlmICghcG9wRXhwcmVzc2lvblN0YWNrKGNvbmRpdGlvbikpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgQ29udHJvbFR5cGUgY29udHJvbDsKICAg
ICAgICAgaWYgKCFtX2NvbnRleHQuYWRkSWYoY29uZGl0aW9uLCBpbmxpbmVTaWduYXR1cmUsIGNv
bnRyb2wpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjk0LDYgKzMxOSwxMCBAQCBi
b29sIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJlc3Npb24oT3BUeXBlIG9wKQog
ICAgIH0KIAogICAgIGNhc2UgT3BUeXBlOjpFbHNlOiB7CisgICAgICAgIGlmICghbV9jb250cm9s
U3RhY2suc2l6ZSgpKSB7CisgICAgICAgICAgICBtX2NvbnRleHQuc2V0RXJyb3JNZXNzYWdlKCJB
dHRlbXB0ZWQgdG8gdXNlIGVsc2UgYmxvY2sgYXQgdGhlIHRvcC1sZXZlbCBvZiBhIGZ1bmN0aW9u
Iik7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IG1fY29udGV4dC5hZGRFbHNlKG1fY29udHJvbFN0YWNrLmxhc3QoKSwgbV9leHByZXNzaW9uU3Rh
Y2spOwogICAgIH0KIApAQCAtMzA0LDkgKzMzMywxMCBAQCBib29sIEZ1bmN0aW9uUGFyc2VyPENv
bnRleHQ+OjpwYXJzZUV4cHJlc3Npb24oT3BUeXBlIG9wKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgICAgIEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiA9IENvbnRleHQ6OmVtcHR5
RXhwcmVzc2lvbjsKLSAgICAgICAgaWYgKG9wID09IE9wVHlwZTo6QnJJZikKLSAgICAgICAgICAg
IGNvbmRpdGlvbiA9IG1fZXhwcmVzc2lvblN0YWNrLnRha2VMYXN0KCk7Ci0gICAgICAgIGVsc2UK
KyAgICAgICAgaWYgKG9wID09IE9wVHlwZTo6QnJJZikgeworICAgICAgICAgICAgaWYgKCFwb3BF
eHByZXNzaW9uU3RhY2soY29uZGl0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbV91bnJlYWNoYWJsZUJsb2NrcyA9IDE7CiAK
ICAgICAgICAgQ29udHJvbFR5cGUmIGRhdGEgPSBtX2NvbnRyb2xTdGFja1ttX2NvbnRyb2xTdGFj
ay5zaXplKCkgLSAxIC0gdGFyZ2V0XTsKQEAgLTMxNiw4ICszNDYsMTEgQEAgYm9vbCBGdW5jdGlv
blBhcnNlcjxDb250ZXh0Pjo6cGFyc2VFeHByZXNzaW9uKE9wVHlwZSBvcCkKIAogICAgIGNhc2Ug
T3BUeXBlOjpSZXR1cm46IHsKICAgICAgICAgVmVjdG9yPEV4cHJlc3Npb25UeXBlLCAxPiByZXR1
cm5WYWx1ZXM7Ci0gICAgICAgIGlmIChtX3NpZ25hdHVyZS0+cmV0dXJuVHlwZSAhPSBWb2lkKQot
ICAgICAgICAgICAgcmV0dXJuVmFsdWVzLmFwcGVuZChtX2V4cHJlc3Npb25TdGFjay50YWtlTGFz
dCgpKTsKKyAgICAgICAgaWYgKG1fc2lnbmF0dXJlLT5yZXR1cm5UeXBlICE9IFZvaWQpIHsKKyAg
ICAgICAgICAgIEV4cHJlc3Npb25UeXBlIHJldHVyblZhbHVlOworICAgICAgICAgICAgaWYgKCFw
b3BFeHByZXNzaW9uU3RhY2socmV0dXJuVmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuVmFsdWVz
LmFwcGVuZChyZXR1cm5WYWx1ZSk7CisgICAgICAgIH0KIAogICAgICAgICBtX3VucmVhY2hhYmxl
QmxvY2tzID0gMTsKICAgICAgICAgcmV0dXJuIG1fY29udGV4dC5hZGRSZXR1cm4ocmV0dXJuVmFs
dWVzKTsKQEAgLTQwMyw2ICs0MzYsMTggQEAgYm9vbCBGdW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6
cGFyc2VVbnJlYWNoYWJsZUV4cHJlc3Npb24oT3BUeXBlIG9wKQogICAgIHJldHVybiB0cnVlOwog
fQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb250ZXh0PgorYm9vbCBGdW5jdGlvblBhcnNlcjxDb250
ZXh0Pjo6cG9wRXhwcmVzc2lvblN0YWNrKEV4cHJlc3Npb25UeXBlJiByZXN1bHQpCit7CisgICAg
aWYgKCFtX2V4cHJlc3Npb25TdGFjay5zaXplKCkpIHsKKyAgICAgICAgcmVzdWx0ID0gbV9leHBy
ZXNzaW9uU3RhY2sudGFrZUxhc3QoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisg
ICAgbV9jb250ZXh0LnNldEVycm9yTWVzc2FnZShtYWtlU3RyaW5nKCJBdHRlbXB0ZWQgdG8gdXNl
IGFuIHN0YWNrIHZhbHVlIHdoZW4gbm9uZSBleGlzdGVkIHN0YWNrIGluICIpKTsKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKICN1bmRlZiBDUkVBVEVfQ0FTRQogCiB9IH0gLy8gbmFtZXNwYWNlIEpT
Qzo6V2FzbQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVZhbGlk
YXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21WYWxpZGF0ZS5jcHAKaW5k
ZXggYjY5N2U0NDhmMTgyNDM4MjI3ODY1MzhhNzY2YmFiZTlmY2U1ZmExYi4uN2FjMGZmZjg2MzE3
YjgxYTM5MjhlN2M1NDRjNmUyM2RmNTI4MjlhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbVZhbGlkYXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XYXNtVmFsaWRhdGUuY3BwCkBAIC0xMDIsOCArMTAyLDEwIEBAIHB1YmxpYzoKICAgICBi
b29sIFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRDYWxsKHVuc2lnbmVkIGNhbGxlZUluZGV4LCBjb25z
dCBGdW5jdGlvbkluZm9ybWF0aW9uJiwgY29uc3QgVmVjdG9yPEV4cHJlc3Npb25UeXBlPiYgYXJn
cywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCk7CiAgICAgYm9vbCBXQVJOX1VOVVNFRF9SRVRVUk4g
aXNDb250aW51YXRpb25SZWFjaGFibGUoQ29udHJvbERhdGEmKSB7IHJldHVybiB0cnVlOyB9CiAK
KwogICAgIHZvaWQgZHVtcChjb25zdCBWZWN0b3I8Q29udHJvbFR5cGU+JiBjb250cm9sU3RhY2ss
IGNvbnN0IEV4cHJlc3Npb25MaXN0JiBleHByZXNzaW9uU3RhY2spOwogCisgICAgdm9pZCBzZXRF
cnJvck1lc3NhZ2UoU3RyaW5nJiYgbWVzc2FnZSkgeyBBU1NFUlQobV9lcnJvck1lc3NhZ2UuaXNO
dWxsKCkpOyBtX2Vycm9yTWVzc2FnZSA9IFdURk1vdmUobWVzc2FnZSk7IH0KICAgICBTdHJpbmcg
ZXJyb3JNZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvck1lc3NhZ2U7IH0KICAgICBWYWxp
ZGF0ZShFeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKQogICAgICAgICA6IG1fcmV0dXJuVHlwZShy
ZXR1cm5UeXBlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293663</attachid>
            <date>2016-11-02 09:15:44 -0700</date>
            <delta_ts>2016-11-02 10:51:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164275-20161102091145.patch</filename>
            <type>text/plain</type>
            <size>8361</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4MjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MDQ1YTkzYzBmM2JmODYxZmRjNGFiNWM5MjYyZjdjYzExYmY0MGM5Li42OGJjNGY2NzI3YmE2NjA4
MjBhNDM1NzFiZmEzMjUyMjYwYjEwN2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNSBAQAogMjAxNi0xMS0wMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBXZSBzaG91bGQgbm90IHBvcCBmcm9tIGFuIGVtcHR5IHN0YWNrIGlu
IHRoZSBXYXNtIGZ1bmN0aW9uIHBhcnNlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NDI3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcHJldmVudHMgYW4gaXNzdWUgaW4gdGhlIHdh
c20gcGFyc2VyIHdoZXJlIHdlIG1pZ2h0CisgICAgICAgIGFjY2lkZW50aWFsbHkgcG9wIGZyb20g
dGhlIGV4cHJlc3Npb24gc3RhY2sgd2l0aG91dCBpZiB0aGVyZQorICAgICAgICBhcmUgbm8gZW50
cmllcy4gSXQgYWxzbyBmaXhlcyBhIHNpbWlsYXIgaXNzdWUgd2l0aCBlbHNlCisgICAgICAgIGJs
b2NrcyB3aGVyZSBhIHVzZXIgbWlnaHQgdHJ5IHRvIHB1dCBhbiBlbHNlIG9uIHRoZSB0b3AgbGV2
ZWwKKyAgICAgICAgb2YgYSBmdW5jdGlvbi4KKworICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5l
cmF0b3IuY3BwOgorICAgICAgICAqIHdhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmg6CisgICAgICAg
IChKU0M6Oldhc206OkZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpXYXNtOjpGdW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6cG9wRXhwcmVzc2lv
blN0YWNrKToKKyAgICAgICAgKiB3YXNtL1dhc21WYWxpZGF0ZS5jcHA6CisgICAgICAgIChKU0M6
Oldhc206OlZhbGlkYXRlOjpzZXRFcnJvck1lc3NhZ2UpOgorCisyMDE2LTExLTAxICBLZWl0aCBN
aWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBhIFdBU00gZnVu
Y3Rpb24gdmFsaWRhdG9yLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYxNzA3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CM0lSR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21C
M0lSR2VuZXJhdG9yLmNwcAppbmRleCAwN2IzMjllOWRjZDQzNWJiZGJkNzZhMDYxODljZmE5NzM2
MGY1NjdkLi4xZGU2ZTI3NzQ0MmMxM2NhZTk5MDE5ZTEwYWM1ZmU2NjJhMTIwY2MxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCkBAIC0y
MTIsNiArMjEyLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBkdW1wKGNvbnN0IFZlY3RvcjxDb250
cm9sVHlwZT4mIGNvbnRyb2xTdGFjaywgY29uc3QgRXhwcmVzc2lvbkxpc3QmIGV4cHJlc3Npb25T
dGFjayk7CiAKKyAgICB2b2lkIHNldEVycm9yTWVzc2FnZShTdHJpbmcmJikgeyBVTlJFQUNIQUJM
RV9GT1JfUExBVEZPUk0oKTsgfQorCiBwcml2YXRlOgogICAgIEV4cHJlc3Npb25UeXBlIGVtaXRD
aGVja0FuZFByZXBhcmVQb2ludGVyKEV4cHJlc3Npb25UeXBlIHBvaW50ZXIsIHVpbnQzMl90IG9m
ZnNldCwgdWludDMyX3Qgc2l6ZU9mT3ApOwogICAgIEV4cHJlc3Npb25UeXBlIGVtaXRMb2FkT3Ao
TG9hZE9wVHlwZSwgT3JpZ2luLCBFeHByZXNzaW9uVHlwZSBwb2ludGVyLCB1aW50MzJfdCBvZmZz
ZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9u
UGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIu
aAppbmRleCA2ZTBmMmIxNGQwNTZmYjljODdhNDMyMzE5YjU2Nzg4NTJmMzNhZGIzLi40MjM4Njk2
NTY0YjE2MjNkMGJhNjljMDE3OTczZDBkMGM3ZDg3NjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaApAQCAtNTYsNiArNTYsOCBAQCBwcml2
YXRlOgogICAgIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJOIHBhcnNlVW5yZWFjaGFibGVFeHByZXNz
aW9uKE9wVHlwZSk7CiAgICAgYm9vbCBXQVJOX1VOVVNFRF9SRVRVUk4gdW5pZnlDb250cm9sKFZl
Y3RvcjxFeHByZXNzaW9uVHlwZT4mLCB1bnNpZ25lZCBsZXZlbCk7CiAKKyAgICBib29sIFdBUk5f
VU5VU0VEX1JFVFVSTiBwb3BFeHByZXNzaW9uU3RhY2soRXhwcmVzc2lvblR5cGUmIHJlc3VsdCk7
CisKICAgICBDb250ZXh0JiBtX2NvbnRleHQ7CiAgICAgVmVjdG9yPEV4cHJlc3Npb25UeXBlLCAx
PiBtX2V4cHJlc3Npb25TdGFjazsKICAgICBWZWN0b3I8Q29udHJvbFR5cGU+IG1fY29udHJvbFN0
YWNrOwpAQCAtMTQ0LDggKzE0NiwxNCBAQCBib29sIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+Ojpw
YXJzZUV4cHJlc3Npb24oT3BUeXBlIG9wKQogewogICAgIHN3aXRjaCAob3ApIHsKICAgICBGT1Jf
RUFDSF9XQVNNX0JJTkFSWV9PUChDUkVBVEVfQ0FTRSkgewotICAgICAgICBFeHByZXNzaW9uVHlw
ZSByaWdodCA9IG1fZXhwcmVzc2lvblN0YWNrLnRha2VMYXN0KCk7Ci0gICAgICAgIEV4cHJlc3Np
b25UeXBlIGxlZnQgPSBtX2V4cHJlc3Npb25TdGFjay50YWtlTGFzdCgpOworICAgICAgICBFeHBy
ZXNzaW9uVHlwZSByaWdodDsKKyAgICAgICAgaWYgKCFwb3BFeHByZXNzaW9uU3RhY2socmlnaHQp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIEV4cHJlc3Npb25UeXBlIGxl
ZnQ7CisgICAgICAgIGlmICghcG9wRXhwcmVzc2lvblN0YWNrKGxlZnQpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCiAgICAgICAgIEV4cHJlc3Npb25UeXBlIHJlc3VsdDsKICAgICAgICAg
aWYgKCFtX2NvbnRleHQuYmluYXJ5T3Aoc3RhdGljX2Nhc3Q8QmluYXJ5T3BUeXBlPihvcCksIGxl
ZnQsIHJpZ2h0LCByZXN1bHQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTU0LDkg
KzE2MiwxMiBAQCBib29sIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJlc3Npb24o
T3BUeXBlIG9wKQogICAgIH0KIAogICAgIEZPUl9FQUNIX1dBU01fVU5BUllfT1AoQ1JFQVRFX0NB
U0UpIHsKLSAgICAgICAgRXhwcmVzc2lvblR5cGUgYXJnID0gbV9leHByZXNzaW9uU3RhY2sudGFr
ZUxhc3QoKTsKKyAgICAgICAgRXhwcmVzc2lvblR5cGUgdmFsdWU7CisgICAgICAgIGlmICghcG9w
RXhwcmVzc2lvblN0YWNrKHZhbHVlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
ICAgICBFeHByZXNzaW9uVHlwZSByZXN1bHQ7Ci0gICAgICAgIGlmICghbV9jb250ZXh0LnVuYXJ5
T3Aoc3RhdGljX2Nhc3Q8VW5hcnlPcFR5cGU+KG9wKSwgYXJnLCByZXN1bHQpKQorICAgICAgICBp
ZiAoIW1fY29udGV4dC51bmFyeU9wKHN0YXRpY19jYXN0PFVuYXJ5T3BUeXBlPihvcCksIHZhbHVl
LCByZXN1bHQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBtX2V4cHJlc3Np
b25TdGFjay5hcHBlbmQocmVzdWx0KTsKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xNzEsNyAr
MTgyLDEwIEBAIGJvb2wgRnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlRXhwcmVzc2lvbihP
cFR5cGUgb3ApCiAgICAgICAgIGlmICghcGFyc2VWYXJVSW50MzIob2Zmc2V0KSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBFeHByZXNzaW9uVHlwZSBwb2ludGVyID0gbV9l
eHByZXNzaW9uU3RhY2sudGFrZUxhc3QoKTsKKyAgICAgICAgRXhwcmVzc2lvblR5cGUgcG9pbnRl
cjsKKyAgICAgICAgaWYgKCFwb3BFeHByZXNzaW9uU3RhY2socG9pbnRlcikpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgRXhwcmVzc2lvblR5cGUgcmVzdWx0OwogICAgICAg
ICBpZiAoIW1fY29udGV4dC5sb2FkKHN0YXRpY19jYXN0PExvYWRPcFR5cGU+KG9wKSwgcG9pbnRl
ciwgcmVzdWx0LCBvZmZzZXQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTg4LDgg
KzIwMiwxNCBAQCBib29sIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJlc3Npb24o
T3BUeXBlIG9wKQogICAgICAgICBpZiAoIXBhcnNlVmFyVUludDMyKG9mZnNldCkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgRXhwcmVzc2lvblR5cGUgdmFsdWUgPSBtX2V4
cHJlc3Npb25TdGFjay50YWtlTGFzdCgpOwotICAgICAgICBFeHByZXNzaW9uVHlwZSBwb2ludGVy
ID0gbV9leHByZXNzaW9uU3RhY2sudGFrZUxhc3QoKTsKKyAgICAgICAgRXhwcmVzc2lvblR5cGUg
dmFsdWU7CisgICAgICAgIGlmICghcG9wRXhwcmVzc2lvblN0YWNrKHZhbHVlKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBFeHByZXNzaW9uVHlwZSBwb2ludGVyOworICAg
ICAgICBpZiAoIXBvcEV4cHJlc3Npb25TdGFjayhwb2ludGVyKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgICAgICByZXR1cm4gbV9jb250ZXh0LnN0b3JlKHN0YXRpY19jYXN0PFN0
b3JlT3BUeXBlPihvcCksIHBvaW50ZXIsIHZhbHVlLCBvZmZzZXQpOwogICAgIH0KIApAQCAtMjI3
LDcgKzI0Nyw5IEBAIGJvb2wgRnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlRXhwcmVzc2lv
bihPcFR5cGUgb3ApCiAgICAgICAgIHVpbnQzMl90IGluZGV4OwogICAgICAgICBpZiAoIXBhcnNl
VmFyVUludDMyKGluZGV4KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgRXhw
cmVzc2lvblR5cGUgdmFsdWUgPSBtX2V4cHJlc3Npb25TdGFjay50YWtlTGFzdCgpOworICAgICAg
ICBFeHByZXNzaW9uVHlwZSB2YWx1ZTsKKyAgICAgICAgaWYgKCFwb3BFeHByZXNzaW9uU3RhY2so
dmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXR1cm4gbV9jb250
ZXh0LnNldExvY2FsKGluZGV4LCB2YWx1ZSk7CiAgICAgfQogCkBAIC0yODQsNyArMzA2LDEwIEBA
IGJvb2wgRnVuY3Rpb25QYXJzZXI8Q29udGV4dD46OnBhcnNlRXhwcmVzc2lvbihPcFR5cGUgb3Ap
CiAgICAgICAgIGlmICghcGFyc2VWYWx1ZVR5cGUoaW5saW5lU2lnbmF0dXJlKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBFeHByZXNzaW9uVHlwZSBjb25kaXRpb24gPSBt
X2V4cHJlc3Npb25TdGFjay50YWtlTGFzdCgpOworICAgICAgICBFeHByZXNzaW9uVHlwZSBjb25k
aXRpb247CisgICAgICAgIGlmICghcG9wRXhwcmVzc2lvblN0YWNrKGNvbmRpdGlvbikpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgQ29udHJvbFR5cGUgY29udHJvbDsKICAg
ICAgICAgaWYgKCFtX2NvbnRleHQuYWRkSWYoY29uZGl0aW9uLCBpbmxpbmVTaWduYXR1cmUsIGNv
bnRyb2wpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjk0LDYgKzMxOSwxMCBAQCBi
b29sIEZ1bmN0aW9uUGFyc2VyPENvbnRleHQ+OjpwYXJzZUV4cHJlc3Npb24oT3BUeXBlIG9wKQog
ICAgIH0KIAogICAgIGNhc2UgT3BUeXBlOjpFbHNlOiB7CisgICAgICAgIGlmICghbV9jb250cm9s
U3RhY2suc2l6ZSgpKSB7CisgICAgICAgICAgICBtX2NvbnRleHQuc2V0RXJyb3JNZXNzYWdlKCJB
dHRlbXB0ZWQgdG8gdXNlIGVsc2UgYmxvY2sgYXQgdGhlIHRvcC1sZXZlbCBvZiBhIGZ1bmN0aW9u
Iik7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IG1fY29udGV4dC5hZGRFbHNlKG1fY29udHJvbFN0YWNrLmxhc3QoKSwgbV9leHByZXNzaW9uU3Rh
Y2spOwogICAgIH0KIApAQCAtMzA0LDkgKzMzMywxMCBAQCBib29sIEZ1bmN0aW9uUGFyc2VyPENv
bnRleHQ+OjpwYXJzZUV4cHJlc3Npb24oT3BUeXBlIG9wKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgICAgIEV4cHJlc3Npb25UeXBlIGNvbmRpdGlvbiA9IENvbnRleHQ6OmVtcHR5
RXhwcmVzc2lvbjsKLSAgICAgICAgaWYgKG9wID09IE9wVHlwZTo6QnJJZikKLSAgICAgICAgICAg
IGNvbmRpdGlvbiA9IG1fZXhwcmVzc2lvblN0YWNrLnRha2VMYXN0KCk7Ci0gICAgICAgIGVsc2UK
KyAgICAgICAgaWYgKG9wID09IE9wVHlwZTo6QnJJZikgeworICAgICAgICAgICAgaWYgKCFwb3BF
eHByZXNzaW9uU3RhY2soY29uZGl0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbV91bnJlYWNoYWJsZUJsb2NrcyA9IDE7CiAK
ICAgICAgICAgQ29udHJvbFR5cGUmIGRhdGEgPSBtX2NvbnRyb2xTdGFja1ttX2NvbnRyb2xTdGFj
ay5zaXplKCkgLSAxIC0gdGFyZ2V0XTsKQEAgLTMxNiw4ICszNDYsMTEgQEAgYm9vbCBGdW5jdGlv
blBhcnNlcjxDb250ZXh0Pjo6cGFyc2VFeHByZXNzaW9uKE9wVHlwZSBvcCkKIAogICAgIGNhc2Ug
T3BUeXBlOjpSZXR1cm46IHsKICAgICAgICAgVmVjdG9yPEV4cHJlc3Npb25UeXBlLCAxPiByZXR1
cm5WYWx1ZXM7Ci0gICAgICAgIGlmIChtX3NpZ25hdHVyZS0+cmV0dXJuVHlwZSAhPSBWb2lkKQot
ICAgICAgICAgICAgcmV0dXJuVmFsdWVzLmFwcGVuZChtX2V4cHJlc3Npb25TdGFjay50YWtlTGFz
dCgpKTsKKyAgICAgICAgaWYgKG1fc2lnbmF0dXJlLT5yZXR1cm5UeXBlICE9IFZvaWQpIHsKKyAg
ICAgICAgICAgIEV4cHJlc3Npb25UeXBlIHJldHVyblZhbHVlOworICAgICAgICAgICAgaWYgKCFw
b3BFeHByZXNzaW9uU3RhY2socmV0dXJuVmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuVmFsdWVz
LmFwcGVuZChyZXR1cm5WYWx1ZSk7CisgICAgICAgIH0KIAogICAgICAgICBtX3VucmVhY2hhYmxl
QmxvY2tzID0gMTsKICAgICAgICAgcmV0dXJuIG1fY29udGV4dC5hZGRSZXR1cm4ocmV0dXJuVmFs
dWVzKTsKQEAgLTQwMyw2ICs0MzYsMTggQEAgYm9vbCBGdW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6
cGFyc2VVbnJlYWNoYWJsZUV4cHJlc3Npb24oT3BUeXBlIG9wKQogICAgIHJldHVybiB0cnVlOwog
fQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb250ZXh0PgorYm9vbCBGdW5jdGlvblBhcnNlcjxDb250
ZXh0Pjo6cG9wRXhwcmVzc2lvblN0YWNrKEV4cHJlc3Npb25UeXBlJiByZXN1bHQpCit7CisgICAg
aWYgKCFtX2V4cHJlc3Npb25TdGFjay5zaXplKCkpIHsKKyAgICAgICAgcmVzdWx0ID0gbV9leHBy
ZXNzaW9uU3RhY2sudGFrZUxhc3QoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisg
ICAgbV9jb250ZXh0LnNldEVycm9yTWVzc2FnZSgiQXR0ZW1wdGVkIHRvIHVzZSBhbiBzdGFjayB2
YWx1ZSB3aGVuIG5vbmUgZXhpc3RlZCIpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogI3VuZGVm
IENSRUFURV9DQVNFCiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpXYXNtCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtVmFsaWRhdGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV2FzbVZhbGlkYXRlLmNwcAppbmRleCBiNjk3ZTQ0OGYxODI0MzgyMjc4
NjUzOGE3NjZiYWJlOWZjZTVmYTFiLi5iODA5Y2RkMDY4YjE4MWExYmZlOTY4ZDhhMDk4ZTE1ZjE4
OTlkZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtVmFsaWRh
dGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21WYWxpZGF0ZS5jcHAK
QEAgLTEwNCw2ICsxMDQsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGR1bXAoY29uc3QgVmVjdG9y
PENvbnRyb2xUeXBlPiYgY29udHJvbFN0YWNrLCBjb25zdCBFeHByZXNzaW9uTGlzdCYgZXhwcmVz
c2lvblN0YWNrKTsKIAorICAgIHZvaWQgc2V0RXJyb3JNZXNzYWdlKFN0cmluZyYmIG1lc3NhZ2Up
IHsgQVNTRVJUKG1fZXJyb3JNZXNzYWdlLmlzTnVsbCgpKTsgbV9lcnJvck1lc3NhZ2UgPSBXVEZN
b3ZlKG1lc3NhZ2UpOyB9CiAgICAgU3RyaW5nIGVycm9yTWVzc2FnZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZXJyb3JNZXNzYWdlOyB9CiAgICAgVmFsaWRhdGUoRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlw
ZSkKICAgICAgICAgOiBtX3JldHVyblR5cGUocmV0dXJuVHlwZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>