<?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>113952</bug_id>
          
          <creation_ts>2013-04-04 13:19:38 -0700</creation_ts>
          <short_desc>Exception stack unwinding doesn&apos;t handle inline callframes correctly</short_desc>
          <delta_ts>2013-04-04 14:23:46 -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>New Bugs</component>
          <version>528+ (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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>869308</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-04-04 13:19:38 -0700</bug_when>
    <thetext>Exception stack unwinding doesn&apos;t handle inline callframes correctly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869313</commentid>
    <comment_count>1</comment_count>
      <attachid>196513</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-04-04 13:26:46 -0700</bug_when>
    <thetext>Created attachment 196513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869330</commentid>
    <comment_count>2</comment_count>
      <attachid>196519</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-04-04 13:49:53 -0700</bug_when>
    <thetext>Created attachment 196519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869347</commentid>
    <comment_count>3</comment_count>
      <attachid>196519</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-04-04 14:06:47 -0700</bug_when>
    <thetext>Comment on attachment 196519
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:15
&gt; +        This used to be safe as the exception handling machinery was
&gt; +        designed to fail gently and just claim that no handler existed.
&gt; +        This was &quot;safe&quot; and even &quot;correct&quot; inasmuch as we currently
&gt; +        don&apos;t run any code with exception handlers through the dfg.

So, why did it turn out not to be safe or correct?

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:2734
&gt; +    while (InlineCallFrame* icf = origin.inlineCallFrame) {

Let&apos;s call this &quot;inlineCallFrame&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869365</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-04-04 14:23:46 -0700</bug_when>
    <thetext>Committed r147670: &lt;http://trac.webkit.org/changeset/147670&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196513</attachid>
            <date>2013-04-04 13:26:46 -0700</date>
            <delta_ts>2013-04-04 13:49:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113952-20130404132634.patch</filename>
            <type>text/plain</type>
            <size>9546</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZWRlZjMzYWJjYWYzMzBhZDkwODExZGMwN2MzYWJlMmJiN2IwMjQyLi4yNjUxZGQ3MjkwODU3ZjIw
NWIzOTA1YmZiNWY2Mjk4M2Q1MGUwNGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxMy0wNC0wNCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEV4Y2VwdGlvbiBzdGFjayB1bndpbmRpbmcgZG9lc24ndCBoYW5kbGUgaW5saW5l
IGNhbGxmcmFtZXMgY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTM5NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgYmFzaWMgcHJvYmxlbSBoZXJlIGlzIHRoYXQgdGhlIGV4Y2VwdGlv
biBzdGFjayB1bndpbmRpbmcgd2FzCisgICAgICAgIGF0dGVtcHRpbmcgdG8gYmUgImNsZXZlciIg
YW5kIGF2b2lkIGRvaW5nIGEgY29ycmVjdCBzdGFjayB3YWxrCisgICAgICAgIGFzIGl0ICJrbmV3
IiBpbmxpbmUgY2FsbGZyYW1lcyBjb3VsZG4ndCBoYXZlIGV4Y2VwdGlvbiBoYW5kbGVycy4KKwor
ICAgICAgICBUaGlzIHVzZWQgdG8gYmUgc2FmZSBhcyB0aGUgZXhjZXB0aW9uIGhhbmRsaW5nIG1h
Y2hpbmVyeSB3YXMKKyAgICAgICAgZGVzaWduZWQgdG8gZmFpbCBnZW50bHkgYW5kIGp1c3QgY2xh
aW0gdGhhdCBubyBoYW5kbGVyIGV4aXN0ZWQuCisgICAgICAgIFRoaXMgd2FzICJzYWZlIiBhbmQg
ZXZlbiAiY29ycmVjdCIgaW5hc211Y2ggYXMgd2UgY3VycmVudGx5CisgICAgICAgIGRvbid0IHJ1
biBhbnkgY29kZSB3aXRoIGV4Y2VwdGlvbiBoYW5kbGVycyB0aHJvdWdoIHRoZSBkZmcuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGUgbG9naWMgYnkgc2ltcGx5IG1ha2luZyBldmVyeXRo
aW5nIHVuaWZvcm1seQorICAgICAgICB1c2UgdGhlIHNhZmUgc3RhY2sgd2Fsa2luZyBtYWNoaW5l
cnksIGFuZCBtYWtpbmcgdGhlIGNvcnJlY3QKKyAgICAgICAgYm91bmRhcnkgY2hlY2tzIG9jY3Vy
IGV2ZXJ5d2hlcmUgdGhhdCB0aGV5IHNob3VsZC4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVC
bG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluZENsb3N1cmVDYWxsRm9yUmV0
dXJuUEMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmJ5dGVjb2RlT2Zmc2V0KToKKyAgICAg
ICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAg
ICAoSlNDOjpJbnRlcnByZXRlcjo6ZHVtcFJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6OkludGVy
cHJldGVyOjp1bndpbmRDYWxsRnJhbWUpOgorICAgICAgICAoSlNDOjpnZXRDYWxsZXJJbmZvKToK
KyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmdldFN0YWNrVHJhY2UpOgorICAgICAgICAoSlND
OjpJbnRlcnByZXRlcjo6cmV0cmlldmVDYWxsZXJGcm9tVk1Db2RlKToKKwogMjAxMy0wNC0wNCAg
R2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZpZWQg
Ynl0ZWNvZGUgZ2VuZXJhdGlvbiBieSBtZXJnaW5nIHByZWZpeCBhbmQgcG9zdGZpeCBub2Rlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCAyMjUx
NzRhYWJjZTFjZjZlY2EwZDA3ZDMzNTlmNTI4MGRlOTUxYTRmLi44NDYwMzA3ZjE3Y2RiYjdlZmYx
OTgwMWFhM2Q3ZGE0MTM0YTVjMmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcApAQCAtMjQ2Miw3ICsyNDYyLDcgQEAgdm9pZCBDb2RlQmxvY2s6OnN0
cm9uZ2x5VmlzaXRXZWFrUmVmZXJlbmNlcyhTbG90VmlzaXRvciYgdmlzaXRvcikKIAogSGFuZGxl
ckluZm8qIENvZGVCbG9jazo6aGFuZGxlckZvckJ5dGVjb2RlT2Zmc2V0KHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0KQogewotICAgIEFTU0VSVChieXRlY29kZU9mZnNldCA8IGluc3RydWN0aW9ucygp
LnNpemUoKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoYnl0ZWNvZGVPZmZzZXQgPCBpbnN0cnVjdGlv
bnMoKS5zaXplKCkpOwogCiAgICAgaWYgKCFtX3JhcmVEYXRhKQogICAgICAgICByZXR1cm4gMDsK
QEAgLTI2NjAsNyArMjY2MCw4IEBAIENsb3N1cmVDYWxsU3R1YlJvdXRpbmUqIENvZGVCbG9jazo6
ZmluZENsb3N1cmVDYWxsRm9yUmV0dXJuUEMoUmV0dXJuQWRkcmVzc1B0ciByCiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgaWYgKCFpbmZvLnN0dWItPmNvZGUoKS5leGVjdXRhYmxlTWVt
b3J5KCktPmNvbnRhaW5zKHJldHVybkFkZHJlc3MudmFsdWUoKSkpCiAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgCisKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaW5mby5zdHViLT5jb2Rl
T3JpZ2luKCkuYnl0ZWNvZGVJbmRleCA8IGluZm8uc3R1Yi0+Y29kZU9yaWdpbigpLm1heGltdW1C
eXRlY29kZUluZGV4KTsKICAgICAgICAgcmV0dXJuIGluZm8uc3R1Yi5nZXQoKTsKICAgICB9CiAg
ICAgCkBAIC0yNjczLDYgKzI2NzQsNyBAQCBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lKiBDb2RlQmxv
Y2s6OmZpbmRDbG9zdXJlQ2FsbEZvclJldHVyblBDKFJldHVybkFkZHJlc3NQdHIgcgogICAgICAg
ICBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lKiBzdHViID0gc3RhdGljX2Nhc3Q8Q2xvc3VyZUNhbGxT
dHViUm91dGluZSo+KGdlbmVyaWNTdHViKTsKICAgICAgICAgaWYgKCFzdHViLT5jb2RlKCkuZXhl
Y3V0YWJsZU1lbW9yeSgpLT5jb250YWlucyhyZXR1cm5BZGRyZXNzLnZhbHVlKCkpKQogICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0dWItPmNvZGVPcmlnaW4o
KS5ieXRlY29kZUluZGV4IDwgc3R1Yi0+Y29kZU9yaWdpbigpLm1heGltdW1CeXRlY29kZUluZGV4
KTsKICAgICAgICAgcmV0dXJuIHN0dWI7CiAgICAgfQogICAgIApAQCAtMjcyNCwxMCArMjcyNiwy
MSBAQCB1bnNpZ25lZCBDb2RlQmxvY2s6OmJ5dGVjb2RlT2Zmc2V0KEV4ZWNTdGF0ZSogZXhlYywg
UmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZQogICAgICAgICAgICAgYmluYXJ5U2VhcmNoPENh
bGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LCB1bnNpZ25lZD4oCiAgICAgICAgICAgICAg
ICAgY2FsbEluZGljZXMsIGNhbGxJbmRpY2VzLnNpemUoKSwgY2FsbFJldHVybk9mZnNldCwgZ2V0
Q2FsbFJldHVybk9mZnNldCk7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHJlc3VsdC0+Y2FsbFJl
dHVybk9mZnNldCA9PSBjYWxsUmV0dXJuT2Zmc2V0KTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
cmVzdWx0LT5ieXRlY29kZU9mZnNldCA8IGluc3RydWN0aW9uQ291bnQoKSk7CiAgICAgICAgIHJl
dHVybiByZXN1bHQtPmJ5dGVjb2RlT2Zmc2V0OwogICAgIH0KLQotICAgIHJldHVybiBmaW5kQ2xv
c3VyZUNhbGxGb3JSZXR1cm5QQyhyZXR1cm5BZGRyZXNzKS0+Y29kZU9yaWdpbigpLmJ5dGVjb2Rl
SW5kZXg7CisgICAgQ2xvc3VyZUNhbGxTdHViUm91dGluZSogY2xvc3VyZUluZm8gPSBmaW5kQ2xv
c3VyZUNhbGxGb3JSZXR1cm5QQyhyZXR1cm5BZGRyZXNzKTsKKyAgICBDb2RlT3JpZ2luIG9yaWdp
biA9IGNsb3N1cmVJbmZvLT5jb2RlT3JpZ2luKCk7CisgICAgd2hpbGUgKElubGluZUNhbGxGcmFt
ZSogaWNmID0gb3JpZ2luLmlubGluZUNhbGxGcmFtZSkgeworICAgICAgICBpZiAoaWNmLT5iYXNl
bGluZUNvZGVCbG9jaygpID09IHRoaXMpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgb3Jp
Z2luID0gaWNmLT5jYWxsZXI7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG9yaWdpbi5ieXRlY29k
ZUluZGV4IDwgb3JpZ2luLm1heGltdW1CeXRlY29kZUluZGV4KTsKKyAgICB9CisgICAgUkVMRUFT
RV9BU1NFUlQob3JpZ2luLmJ5dGVjb2RlSW5kZXggPCBvcmlnaW4ubWF4aW11bUJ5dGVjb2RlSW5k
ZXgpOworICAgIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXggPSBvcmlnaW4uYnl0ZWNvZGVJbmRleDsK
KyAgICBSRUxFQVNFX0FTU0VSVChieXRlY29kZUluZGV4IDwgaW5zdHJ1Y3Rpb25Db3VudCgpKTsK
KyAgICByZXR1cm4gYnl0ZWNvZGVJbmRleDsKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogCiAjaWYg
IUVOQUJMRShMTElOVCkgJiYgIUVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCAzZDEyN2VkMjhkZTNmZGM2M2U0
MzA1YjJkMWZkYzhhNWI1OTFiYjQxLi45OGNhYTVmZTQ3YTI1N2ZiZmY3OGNiNDJmNzA2N2ZkZGMw
NjA0ZjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRl
cnByZXRlci5jcHAKQEAgLTE5OSw3ICsxOTksNyBAQCBJbnRlcnByZXRlcjo6U3RhY2tQb2xpY3k6
OlN0YWNrUG9saWN5KEludGVycHJldGVyJiBpbnRlcnByZXRlciwgY29uc3QgU3RhY2tCb3VuZAog
fQogCiAKLXN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxlckluZm8oSlNHbG9iYWxEYXRhKiwgQ2Fs
bEZyYW1lKiwgaW50JiBsaW5lTnVtYmVyLCB1bnNpZ25lZCYgYnl0ZWNvZGVPZmZzZXQpOworc3Rh
dGljIENhbGxGcmFtZSogZ2V0Q2FsbGVySW5mbyhKU0dsb2JhbERhdGEqLCBDYWxsRnJhbWUqLCBp
bnQmIGxpbmVOdW1iZXIsIHVuc2lnbmVkJiBieXRlY29kZU9mZnNldCwgQ29kZUJsb2NrKiYgY2Fs
bGVyT3V0KTsKIAogLy8gUmV0dXJucyB0aGUgZGVwdGggb2YgdGhlIHNjb3BlIGNoYWluIHdpdGhp
biBhIGdpdmVuIGNhbGwgZnJhbWUuCiBzdGF0aWMgaW50IGRlcHRoKENvZGVCbG9jayogY29kZUJs
b2NrLCBKU1Njb3BlKiBzYykKQEAgLTQyMiw3ICs0MjIsOCBAQCB2b2lkIEludGVycHJldGVyOjpk
dW1wUmVnaXN0ZXJzKENhbGxGcmFtZSogY2FsbEZyYW1lKQogI2VuZGlmCiAgICAgdW5zaWduZWQg
Ynl0ZWNvZGVPZmZzZXQgPSAwOwogICAgIGludCBsaW5lID0gMDsKLSAgICBnZXRDYWxsZXJJbmZv
KCZjYWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgY2FsbEZyYW1lLCBsaW5lLCBieXRlY29kZU9mZnNl
dCk7CisgICAgQ29kZUJsb2NrKiB1bnVzZWRDYWxsZXJDb2RlQmxvY2sgPSAwOworICAgIGdldENh
bGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBjYWxsRnJhbWUsIGxpbmUsIGJ5dGVj
b2RlT2Zmc2V0LCB1bnVzZWRDYWxsZXJDb2RlQmxvY2spOwogICAgIGRhdGFMb2dGKCJbUmV0dXJu
VlBDXSAgICAgICAgICAgICAgICB8ICUxMHAgfCAlZCAobGluZSAlZClcbiIsIGl0LCBieXRlY29k
ZU9mZnNldCwgbGluZSk7CiAgICAgKytpdDsKICAgICBkYXRhTG9nRigiW0NvZGVCbG9ja10gICAg
ICAgICAgICAgICAgfCAlMTBwIHwgJXAgXG4iLCBpdCwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKSk7
CkBAIC01MDYsMTcgKzUwNyw4IEBAIE5FVkVSX0lOTElORSBib29sIEludGVycHJldGVyOjp1bndp
bmRDYWxsRnJhbWUoQ2FsbEZyYW1lKiYgY2FsbEZyYW1lLCBKU1ZhbHVlIGV4CiAgICAgY2FsbEZy
YW1lLT5nbG9iYWxEYXRhKCkudG9wQ2FsbEZyYW1lID0gY2FsbGVyRnJhbWU7CiAgICAgaWYgKGNh
bGxlckZyYW1lLT5oYXNIb3N0Q2FsbEZyYW1lRmxhZygpKQogICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBjb2RlQmxvY2sgPSBjYWxsZXJGcmFtZS0+Y29kZUJsb2NrKCk7Ci0gICAgCi0gICAg
Ly8gQmVjYXVzZSBvZiBob3cgdGhlIEpJVCByZWNvcmRzIGNhbGwgc2l0ZS0+Ynl0ZWNvZGUgb2Zm
c2V0Ci0gICAgLy8gaW5mb3JtYXRpb24gdGhlIEpJVCByZXBvcnRzIHRoZSBieXRlY29kZU9mZnNl
dCBmb3IgdGhlIHJldHVyblBDCi0gICAgLy8gdG8gYmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUg
b3Bjb2RlIHRoYXQgaGFzIGNhdXNlZCB0aGUgY2FsbC4KLSNpZiBFTkFCTEUoSklUKSB8fCBFTkFC
TEUoTExJTlQpCi0gICAgYnl0ZWNvZGVPZmZzZXQgPSBjb2RlQmxvY2stPmJ5dGVjb2RlT2Zmc2V0
KGNhbGxlckZyYW1lLCBjYWxsRnJhbWUtPnJldHVyblBDKCkpOwotI2VuZGlmCi0KLSAgICBjYWxs
RnJhbWUgPSBjYWxsZXJGcmFtZTsKKyAgICBpbnQgdW51c2VkTGluZU51bWJlciA9IDA7CisgICAg
Y2FsbEZyYW1lID0gZ2V0Q2FsbGVySW5mbygmY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCksIGNhbGxG
cmFtZSwgdW51c2VkTGluZU51bWJlciwgYnl0ZWNvZGVPZmZzZXQsIGNvZGVCbG9jayk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKQEAgLTU4OCw5ICs1ODAsOSBAQCBzdGF0aWMgaW50IGdldExpbmVO
dW1iZXJGb3JDYWxsRnJhbWUoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNh
bGxGcgogI2VuZGlmCiB9CiAKLXN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxlckluZm8oSlNHbG9i
YWxEYXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwgaW50JiBsaW5lTnVtYmVy
LCB1bnNpZ25lZCYgYnl0ZWNvZGVPZmZzZXQpCitzdGF0aWMgQ2FsbEZyYW1lKiBnZXRDYWxsZXJJ
bmZvKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIGludCYg
bGluZU51bWJlciwgdW5zaWduZWQmIGJ5dGVjb2RlT2Zmc2V0LCBDb2RlQmxvY2sqJiBjYWxsZXIp
CiB7Ci0gICAgVU5VU0VEX1BBUkFNKGdsb2JhbERhdGEpOworICAgIEFTU0VSVF9VTlVTRUQoZ2xv
YmFsRGF0YSwgZ2xvYmFsRGF0YSk7CiAgICAgYnl0ZWNvZGVPZmZzZXQgPSAwOwogICAgIGxpbmVO
dW1iZXIgPSAtMTsKICAgICBBU1NFUlQoIWNhbGxGcmFtZS0+aGFzSG9zdENhbGxGcmFtZUZsYWco
KSk7CkBAIC01OTgsOCArNTkwLDEwIEBAIHN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxlckluZm8o
SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwKICAgICBib29s
IGNhbGxmcmFtZUlzSG9zdCA9IGNhbGxlckZyYW1lLT5hZGRIb3N0Q2FsbEZyYW1lRmxhZygpID09
IGNhbGxGcmFtZS0+Y2FsbGVyRnJhbWUoKTsKICAgICBBU1NFUlQoIWNhbGxlckZyYW1lLT5oYXNI
b3N0Q2FsbEZyYW1lRmxhZygpKTsKIAotICAgIGlmIChjYWxsZXJGcmFtZSA9PSBDYWxsRnJhbWU6
Om5vQ2FsbGVyKCkgfHwgIWNhbGxlckZyYW1lIHx8ICFjYWxsZXJGcmFtZS0+Y29kZUJsb2NrKCkp
CisgICAgaWYgKGNhbGxlckZyYW1lID09IENhbGxGcmFtZTo6bm9DYWxsZXIoKSB8fCAhY2FsbGVy
RnJhbWUgfHwgIWNhbGxlckZyYW1lLT5jb2RlQmxvY2soKSkgeworICAgICAgICBjYWxsZXIgPSAw
OwogICAgICAgICByZXR1cm4gY2FsbGVyRnJhbWU7CisgICAgfQogICAgIAogICAgIENvZGVCbG9j
ayogY2FsbGVyQ29kZUJsb2NrID0gY2FsbGVyRnJhbWUtPmNvZGVCbG9jaygpOwogICAgIApAQCAt
NjU5LDYgKzY1Myw3IEBAIHN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxlckluZm8oSlNHbG9iYWxE
YXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwKICAgICB9CiAKICAgICBSRUxF
QVNFX0FTU0VSVChjYWxsZXJDb2RlQmxvY2spOworICAgIGNhbGxlciA9IGNhbGxlckNvZGVCbG9j
azsKICAgICBsaW5lTnVtYmVyID0gY2FsbGVyQ29kZUJsb2NrLT5saW5lTnVtYmVyRm9yQnl0ZWNv
ZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpOwogICAgIHJldHVybiBjYWxsZXJGcmFtZTsKIH0KQEAg
LTcwNSw3ICs3MDAsOCBAQCB2b2lkIEludGVycHJldGVyOjpnZXRTdGFja1RyYWNlKEpTR2xvYmFs
RGF0YSogZ2xvYmFsRGF0YSwgVmVjdG9yPFN0YWNrRnJhbWU+JiByZQogICAgICAgICAgICAgcmVz
dWx0cy5hcHBlbmQocyk7CiAgICAgICAgIH0KICAgICAgICAgdW5zaWduZWQgdW51c2VkQnl0ZWNv
ZGVPZmZzZXQgPSAwOwotICAgICAgICBjYWxsRnJhbWUgPSBnZXRDYWxsZXJJbmZvKGdsb2JhbERh
dGEsIGNhbGxGcmFtZSwgbGluZSwgdW51c2VkQnl0ZWNvZGVPZmZzZXQpOworICAgICAgICBDb2Rl
QmxvY2sqIHVudXNlZENhbGxlckNvZGVCbG9jayA9IDA7CisgICAgICAgIGNhbGxGcmFtZSA9IGdl
dENhbGxlckluZm8oZ2xvYmFsRGF0YSwgY2FsbEZyYW1lLCBsaW5lLCB1bnVzZWRCeXRlY29kZU9m
ZnNldCwgdW51c2VkQ2FsbGVyQ29kZUJsb2NrKTsKICAgICB9CiB9CiAKQEAgLTEzODEsNyArMTM3
Nyw4IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OnJldHJpZXZlQ2FsbGVyRnJvbVZNQ29kZShDYWxs
RnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbioKICAgICAKICAgICBpbnQgbGluZU51bWJlcjsK
ICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldDsKLSAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1l
ID0gZ2V0Q2FsbGVySW5mbygmY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCksIGZ1bmN0aW9uQ2FsbEZy
YW1lLCBsaW5lTnVtYmVyLCBieXRlY29kZU9mZnNldCk7CisgICAgQ29kZUJsb2NrKiB1bnVzZWRD
YWxsZXJDb2RlQmxvY2sgPSAwOworICAgIENhbGxGcmFtZSogY2FsbGVyRnJhbWUgPSBnZXRDYWxs
ZXJJbmZvKCZjYWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgZnVuY3Rpb25DYWxsRnJhbWUsIGxpbmVO
dW1iZXIsIGJ5dGVjb2RlT2Zmc2V0LCB1bnVzZWRDYWxsZXJDb2RlQmxvY2spOwogICAgIGlmICgh
Y2FsbGVyRnJhbWUpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAgICBKU1ZhbHVlIGNhbGxl
ciA9IGNhbGxlckZyYW1lLT5jYWxsZWUoKTsKQEAgLTEzOTEsNyArMTM4OCw3IEBAIEpTVmFsdWUg
SW50ZXJwcmV0ZXI6OnJldHJpZXZlQ2FsbGVyRnJvbVZNQ29kZShDYWxsRnJhbWUqIGNhbGxGcmFt
ZSwgSlNGdW5jdGlvbioKICAgICAvLyBTa2lwIG92ZXIgZnVuY3Rpb24gYmluZGluZ3MuCiAgICAg
QVNTRVJUKGNhbGxlci5pc09iamVjdCgpKTsKICAgICB3aGlsZSAoYXNPYmplY3QoY2FsbGVyKS0+
aW5oZXJpdHMoJkpTQm91bmRGdW5jdGlvbjo6c19pbmZvKSkgewotICAgICAgICBjYWxsZXJGcmFt
ZSA9IGdldENhbGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBjYWxsZXJGcmFtZSwg
bGluZU51bWJlciwgYnl0ZWNvZGVPZmZzZXQpOworICAgICAgICBjYWxsZXJGcmFtZSA9IGdldENh
bGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBjYWxsZXJGcmFtZSwgbGluZU51bWJl
ciwgYnl0ZWNvZGVPZmZzZXQsIHVudXNlZENhbGxlckNvZGVCbG9jayk7CiAgICAgICAgIGlmICgh
Y2FsbGVyRnJhbWUpCiAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgIGNhbGxl
ciA9IGNhbGxlckZyYW1lLT5jYWxsZWUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196519</attachid>
            <date>2013-04-04 13:49:53 -0700</date>
            <delta_ts>2013-04-04 14:06:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113952-20130404134941.patch</filename>
            <type>text/plain</type>
            <size>12525</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZWRlZjMzYWJjYWYzMzBhZDkwODExZGMwN2MzYWJlMmJiN2IwMjQyLi4yNjUxZGQ3MjkwODU3ZjIw
NWIzOTA1YmZiNWY2Mjk4M2Q1MGUwNGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxMy0wNC0wNCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEV4Y2VwdGlvbiBzdGFjayB1bndpbmRpbmcgZG9lc24ndCBoYW5kbGUgaW5saW5l
IGNhbGxmcmFtZXMgY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTM5NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgYmFzaWMgcHJvYmxlbSBoZXJlIGlzIHRoYXQgdGhlIGV4Y2VwdGlv
biBzdGFjayB1bndpbmRpbmcgd2FzCisgICAgICAgIGF0dGVtcHRpbmcgdG8gYmUgImNsZXZlciIg
YW5kIGF2b2lkIGRvaW5nIGEgY29ycmVjdCBzdGFjayB3YWxrCisgICAgICAgIGFzIGl0ICJrbmV3
IiBpbmxpbmUgY2FsbGZyYW1lcyBjb3VsZG4ndCBoYXZlIGV4Y2VwdGlvbiBoYW5kbGVycy4KKwor
ICAgICAgICBUaGlzIHVzZWQgdG8gYmUgc2FmZSBhcyB0aGUgZXhjZXB0aW9uIGhhbmRsaW5nIG1h
Y2hpbmVyeSB3YXMKKyAgICAgICAgZGVzaWduZWQgdG8gZmFpbCBnZW50bHkgYW5kIGp1c3QgY2xh
aW0gdGhhdCBubyBoYW5kbGVyIGV4aXN0ZWQuCisgICAgICAgIFRoaXMgd2FzICJzYWZlIiBhbmQg
ZXZlbiAiY29ycmVjdCIgaW5hc211Y2ggYXMgd2UgY3VycmVudGx5CisgICAgICAgIGRvbid0IHJ1
biBhbnkgY29kZSB3aXRoIGV4Y2VwdGlvbiBoYW5kbGVycyB0aHJvdWdoIHRoZSBkZmcuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGUgbG9naWMgYnkgc2ltcGx5IG1ha2luZyBldmVyeXRo
aW5nIHVuaWZvcm1seQorICAgICAgICB1c2UgdGhlIHNhZmUgc3RhY2sgd2Fsa2luZyBtYWNoaW5l
cnksIGFuZCBtYWtpbmcgdGhlIGNvcnJlY3QKKyAgICAgICAgYm91bmRhcnkgY2hlY2tzIG9jY3Vy
IGV2ZXJ5d2hlcmUgdGhhdCB0aGV5IHNob3VsZC4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVC
bG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluZENsb3N1cmVDYWxsRm9yUmV0
dXJuUEMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmJ5dGVjb2RlT2Zmc2V0KToKKyAgICAg
ICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAg
ICAoSlNDOjpJbnRlcnByZXRlcjo6ZHVtcFJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6OkludGVy
cHJldGVyOjp1bndpbmRDYWxsRnJhbWUpOgorICAgICAgICAoSlNDOjpnZXRDYWxsZXJJbmZvKToK
KyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmdldFN0YWNrVHJhY2UpOgorICAgICAgICAoSlND
OjpJbnRlcnByZXRlcjo6cmV0cmlldmVDYWxsZXJGcm9tVk1Db2RlKToKKwogMjAxMy0wNC0wNCAg
R2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZpZWQg
Ynl0ZWNvZGUgZ2VuZXJhdGlvbiBieSBtZXJnaW5nIHByZWZpeCBhbmQgcG9zdGZpeCBub2Rlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCAyMjUx
NzRhYWJjZTFjZjZlY2EwZDA3ZDMzNTlmNTI4MGRlOTUxYTRmLi44NDYwMzA3ZjE3Y2RiYjdlZmYx
OTgwMWFhM2Q3ZGE0MTM0YTVjMmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcApAQCAtMjQ2Miw3ICsyNDYyLDcgQEAgdm9pZCBDb2RlQmxvY2s6OnN0
cm9uZ2x5VmlzaXRXZWFrUmVmZXJlbmNlcyhTbG90VmlzaXRvciYgdmlzaXRvcikKIAogSGFuZGxl
ckluZm8qIENvZGVCbG9jazo6aGFuZGxlckZvckJ5dGVjb2RlT2Zmc2V0KHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0KQogewotICAgIEFTU0VSVChieXRlY29kZU9mZnNldCA8IGluc3RydWN0aW9ucygp
LnNpemUoKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoYnl0ZWNvZGVPZmZzZXQgPCBpbnN0cnVjdGlv
bnMoKS5zaXplKCkpOwogCiAgICAgaWYgKCFtX3JhcmVEYXRhKQogICAgICAgICByZXR1cm4gMDsK
QEAgLTI2NjAsNyArMjY2MCw4IEBAIENsb3N1cmVDYWxsU3R1YlJvdXRpbmUqIENvZGVCbG9jazo6
ZmluZENsb3N1cmVDYWxsRm9yUmV0dXJuUEMoUmV0dXJuQWRkcmVzc1B0ciByCiAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgaWYgKCFpbmZvLnN0dWItPmNvZGUoKS5leGVjdXRhYmxlTWVt
b3J5KCktPmNvbnRhaW5zKHJldHVybkFkZHJlc3MudmFsdWUoKSkpCiAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgCisKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaW5mby5zdHViLT5jb2Rl
T3JpZ2luKCkuYnl0ZWNvZGVJbmRleCA8IGluZm8uc3R1Yi0+Y29kZU9yaWdpbigpLm1heGltdW1C
eXRlY29kZUluZGV4KTsKICAgICAgICAgcmV0dXJuIGluZm8uc3R1Yi5nZXQoKTsKICAgICB9CiAg
ICAgCkBAIC0yNjczLDYgKzI2NzQsNyBAQCBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lKiBDb2RlQmxv
Y2s6OmZpbmRDbG9zdXJlQ2FsbEZvclJldHVyblBDKFJldHVybkFkZHJlc3NQdHIgcgogICAgICAg
ICBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lKiBzdHViID0gc3RhdGljX2Nhc3Q8Q2xvc3VyZUNhbGxT
dHViUm91dGluZSo+KGdlbmVyaWNTdHViKTsKICAgICAgICAgaWYgKCFzdHViLT5jb2RlKCkuZXhl
Y3V0YWJsZU1lbW9yeSgpLT5jb250YWlucyhyZXR1cm5BZGRyZXNzLnZhbHVlKCkpKQogICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0dWItPmNvZGVPcmlnaW4o
KS5ieXRlY29kZUluZGV4IDwgc3R1Yi0+Y29kZU9yaWdpbigpLm1heGltdW1CeXRlY29kZUluZGV4
KTsKICAgICAgICAgcmV0dXJuIHN0dWI7CiAgICAgfQogICAgIApAQCAtMjcyNCwxMCArMjcyNiwy
MSBAQCB1bnNpZ25lZCBDb2RlQmxvY2s6OmJ5dGVjb2RlT2Zmc2V0KEV4ZWNTdGF0ZSogZXhlYywg
UmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZQogICAgICAgICAgICAgYmluYXJ5U2VhcmNoPENh
bGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LCB1bnNpZ25lZD4oCiAgICAgICAgICAgICAg
ICAgY2FsbEluZGljZXMsIGNhbGxJbmRpY2VzLnNpemUoKSwgY2FsbFJldHVybk9mZnNldCwgZ2V0
Q2FsbFJldHVybk9mZnNldCk7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHJlc3VsdC0+Y2FsbFJl
dHVybk9mZnNldCA9PSBjYWxsUmV0dXJuT2Zmc2V0KTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
cmVzdWx0LT5ieXRlY29kZU9mZnNldCA8IGluc3RydWN0aW9uQ291bnQoKSk7CiAgICAgICAgIHJl
dHVybiByZXN1bHQtPmJ5dGVjb2RlT2Zmc2V0OwogICAgIH0KLQotICAgIHJldHVybiBmaW5kQ2xv
c3VyZUNhbGxGb3JSZXR1cm5QQyhyZXR1cm5BZGRyZXNzKS0+Y29kZU9yaWdpbigpLmJ5dGVjb2Rl
SW5kZXg7CisgICAgQ2xvc3VyZUNhbGxTdHViUm91dGluZSogY2xvc3VyZUluZm8gPSBmaW5kQ2xv
c3VyZUNhbGxGb3JSZXR1cm5QQyhyZXR1cm5BZGRyZXNzKTsKKyAgICBDb2RlT3JpZ2luIG9yaWdp
biA9IGNsb3N1cmVJbmZvLT5jb2RlT3JpZ2luKCk7CisgICAgd2hpbGUgKElubGluZUNhbGxGcmFt
ZSogaWNmID0gb3JpZ2luLmlubGluZUNhbGxGcmFtZSkgeworICAgICAgICBpZiAoaWNmLT5iYXNl
bGluZUNvZGVCbG9jaygpID09IHRoaXMpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgb3Jp
Z2luID0gaWNmLT5jYWxsZXI7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG9yaWdpbi5ieXRlY29k
ZUluZGV4IDwgb3JpZ2luLm1heGltdW1CeXRlY29kZUluZGV4KTsKKyAgICB9CisgICAgUkVMRUFT
RV9BU1NFUlQob3JpZ2luLmJ5dGVjb2RlSW5kZXggPCBvcmlnaW4ubWF4aW11bUJ5dGVjb2RlSW5k
ZXgpOworICAgIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXggPSBvcmlnaW4uYnl0ZWNvZGVJbmRleDsK
KyAgICBSRUxFQVNFX0FTU0VSVChieXRlY29kZUluZGV4IDwgaW5zdHJ1Y3Rpb25Db3VudCgpKTsK
KyAgICByZXR1cm4gYnl0ZWNvZGVJbmRleDsKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogCiAjaWYg
IUVOQUJMRShMTElOVCkgJiYgIUVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCAzZDEyN2VkMjhkZTNmZGM2M2U0
MzA1YjJkMWZkYzhhNWI1OTFiYjQxLi45OGNhYTVmZTQ3YTI1N2ZiZmY3OGNiNDJmNzA2N2ZkZGMw
NjA0ZjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRl
cnByZXRlci5jcHAKQEAgLTE5OSw3ICsxOTksNyBAQCBJbnRlcnByZXRlcjo6U3RhY2tQb2xpY3k6
OlN0YWNrUG9saWN5KEludGVycHJldGVyJiBpbnRlcnByZXRlciwgY29uc3QgU3RhY2tCb3VuZAog
fQogCiAKLXN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxlckluZm8oSlNHbG9iYWxEYXRhKiwgQ2Fs
bEZyYW1lKiwgaW50JiBsaW5lTnVtYmVyLCB1bnNpZ25lZCYgYnl0ZWNvZGVPZmZzZXQpOworc3Rh
dGljIENhbGxGcmFtZSogZ2V0Q2FsbGVySW5mbyhKU0dsb2JhbERhdGEqLCBDYWxsRnJhbWUqLCBp
bnQmIGxpbmVOdW1iZXIsIHVuc2lnbmVkJiBieXRlY29kZU9mZnNldCwgQ29kZUJsb2NrKiYgY2Fs
bGVyT3V0KTsKIAogLy8gUmV0dXJucyB0aGUgZGVwdGggb2YgdGhlIHNjb3BlIGNoYWluIHdpdGhp
biBhIGdpdmVuIGNhbGwgZnJhbWUuCiBzdGF0aWMgaW50IGRlcHRoKENvZGVCbG9jayogY29kZUJs
b2NrLCBKU1Njb3BlKiBzYykKQEAgLTQyMiw3ICs0MjIsOCBAQCB2b2lkIEludGVycHJldGVyOjpk
dW1wUmVnaXN0ZXJzKENhbGxGcmFtZSogY2FsbEZyYW1lKQogI2VuZGlmCiAgICAgdW5zaWduZWQg
Ynl0ZWNvZGVPZmZzZXQgPSAwOwogICAgIGludCBsaW5lID0gMDsKLSAgICBnZXRDYWxsZXJJbmZv
KCZjYWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgY2FsbEZyYW1lLCBsaW5lLCBieXRlY29kZU9mZnNl
dCk7CisgICAgQ29kZUJsb2NrKiB1bnVzZWRDYWxsZXJDb2RlQmxvY2sgPSAwOworICAgIGdldENh
bGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBjYWxsRnJhbWUsIGxpbmUsIGJ5dGVj
b2RlT2Zmc2V0LCB1bnVzZWRDYWxsZXJDb2RlQmxvY2spOwogICAgIGRhdGFMb2dGKCJbUmV0dXJu
VlBDXSAgICAgICAgICAgICAgICB8ICUxMHAgfCAlZCAobGluZSAlZClcbiIsIGl0LCBieXRlY29k
ZU9mZnNldCwgbGluZSk7CiAgICAgKytpdDsKICAgICBkYXRhTG9nRigiW0NvZGVCbG9ja10gICAg
ICAgICAgICAgICAgfCAlMTBwIHwgJXAgXG4iLCBpdCwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKSk7
CkBAIC01MDYsMTcgKzUwNyw4IEBAIE5FVkVSX0lOTElORSBib29sIEludGVycHJldGVyOjp1bndp
bmRDYWxsRnJhbWUoQ2FsbEZyYW1lKiYgY2FsbEZyYW1lLCBKU1ZhbHVlIGV4CiAgICAgY2FsbEZy
YW1lLT5nbG9iYWxEYXRhKCkudG9wQ2FsbEZyYW1lID0gY2FsbGVyRnJhbWU7CiAgICAgaWYgKGNh
bGxlckZyYW1lLT5oYXNIb3N0Q2FsbEZyYW1lRmxhZygpKQogICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBjb2RlQmxvY2sgPSBjYWxsZXJGcmFtZS0+Y29kZUJsb2NrKCk7Ci0gICAgCi0gICAg
Ly8gQmVjYXVzZSBvZiBob3cgdGhlIEpJVCByZWNvcmRzIGNhbGwgc2l0ZS0+Ynl0ZWNvZGUgb2Zm
c2V0Ci0gICAgLy8gaW5mb3JtYXRpb24gdGhlIEpJVCByZXBvcnRzIHRoZSBieXRlY29kZU9mZnNl
dCBmb3IgdGhlIHJldHVyblBDCi0gICAgLy8gdG8gYmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUg
b3Bjb2RlIHRoYXQgaGFzIGNhdXNlZCB0aGUgY2FsbC4KLSNpZiBFTkFCTEUoSklUKSB8fCBFTkFC
TEUoTExJTlQpCi0gICAgYnl0ZWNvZGVPZmZzZXQgPSBjb2RlQmxvY2stPmJ5dGVjb2RlT2Zmc2V0
KGNhbGxlckZyYW1lLCBjYWxsRnJhbWUtPnJldHVyblBDKCkpOwotI2VuZGlmCi0KLSAgICBjYWxs
RnJhbWUgPSBjYWxsZXJGcmFtZTsKKyAgICBpbnQgdW51c2VkTGluZU51bWJlciA9IDA7CisgICAg
Y2FsbEZyYW1lID0gZ2V0Q2FsbGVySW5mbygmY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCksIGNhbGxG
cmFtZSwgdW51c2VkTGluZU51bWJlciwgYnl0ZWNvZGVPZmZzZXQsIGNvZGVCbG9jayk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKQEAgLTU4OCw5ICs1ODAsOSBAQCBzdGF0aWMgaW50IGdldExpbmVO
dW1iZXJGb3JDYWxsRnJhbWUoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNh
bGxGcgogI2VuZGlmCiB9CiAKLXN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxlckluZm8oSlNHbG9i
YWxEYXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwgaW50JiBsaW5lTnVtYmVy
LCB1bnNpZ25lZCYgYnl0ZWNvZGVPZmZzZXQpCitzdGF0aWMgQ2FsbEZyYW1lKiBnZXRDYWxsZXJJ
bmZvKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIGludCYg
bGluZU51bWJlciwgdW5zaWduZWQmIGJ5dGVjb2RlT2Zmc2V0LCBDb2RlQmxvY2sqJiBjYWxsZXIp
CiB7Ci0gICAgVU5VU0VEX1BBUkFNKGdsb2JhbERhdGEpOworICAgIEFTU0VSVF9VTlVTRUQoZ2xv
YmFsRGF0YSwgZ2xvYmFsRGF0YSk7CiAgICAgYnl0ZWNvZGVPZmZzZXQgPSAwOwogICAgIGxpbmVO
dW1iZXIgPSAtMTsKICAgICBBU1NFUlQoIWNhbGxGcmFtZS0+aGFzSG9zdENhbGxGcmFtZUZsYWco
KSk7CkBAIC01OTgsOCArNTkwLDEwIEBAIHN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxlckluZm8o
SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwKICAgICBib29s
IGNhbGxmcmFtZUlzSG9zdCA9IGNhbGxlckZyYW1lLT5hZGRIb3N0Q2FsbEZyYW1lRmxhZygpID09
IGNhbGxGcmFtZS0+Y2FsbGVyRnJhbWUoKTsKICAgICBBU1NFUlQoIWNhbGxlckZyYW1lLT5oYXNI
b3N0Q2FsbEZyYW1lRmxhZygpKTsKIAotICAgIGlmIChjYWxsZXJGcmFtZSA9PSBDYWxsRnJhbWU6
Om5vQ2FsbGVyKCkgfHwgIWNhbGxlckZyYW1lIHx8ICFjYWxsZXJGcmFtZS0+Y29kZUJsb2NrKCkp
CisgICAgaWYgKGNhbGxlckZyYW1lID09IENhbGxGcmFtZTo6bm9DYWxsZXIoKSB8fCAhY2FsbGVy
RnJhbWUgfHwgIWNhbGxlckZyYW1lLT5jb2RlQmxvY2soKSkgeworICAgICAgICBjYWxsZXIgPSAw
OwogICAgICAgICByZXR1cm4gY2FsbGVyRnJhbWU7CisgICAgfQogICAgIAogICAgIENvZGVCbG9j
ayogY2FsbGVyQ29kZUJsb2NrID0gY2FsbGVyRnJhbWUtPmNvZGVCbG9jaygpOwogICAgIApAQCAt
NjU5LDYgKzY1Myw3IEBAIHN0YXRpYyBDYWxsRnJhbWUqIGdldENhbGxlckluZm8oSlNHbG9iYWxE
YXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwKICAgICB9CiAKICAgICBSRUxF
QVNFX0FTU0VSVChjYWxsZXJDb2RlQmxvY2spOworICAgIGNhbGxlciA9IGNhbGxlckNvZGVCbG9j
azsKICAgICBsaW5lTnVtYmVyID0gY2FsbGVyQ29kZUJsb2NrLT5saW5lTnVtYmVyRm9yQnl0ZWNv
ZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpOwogICAgIHJldHVybiBjYWxsZXJGcmFtZTsKIH0KQEAg
LTcwNSw3ICs3MDAsOCBAQCB2b2lkIEludGVycHJldGVyOjpnZXRTdGFja1RyYWNlKEpTR2xvYmFs
RGF0YSogZ2xvYmFsRGF0YSwgVmVjdG9yPFN0YWNrRnJhbWU+JiByZQogICAgICAgICAgICAgcmVz
dWx0cy5hcHBlbmQocyk7CiAgICAgICAgIH0KICAgICAgICAgdW5zaWduZWQgdW51c2VkQnl0ZWNv
ZGVPZmZzZXQgPSAwOwotICAgICAgICBjYWxsRnJhbWUgPSBnZXRDYWxsZXJJbmZvKGdsb2JhbERh
dGEsIGNhbGxGcmFtZSwgbGluZSwgdW51c2VkQnl0ZWNvZGVPZmZzZXQpOworICAgICAgICBDb2Rl
QmxvY2sqIHVudXNlZENhbGxlckNvZGVCbG9jayA9IDA7CisgICAgICAgIGNhbGxGcmFtZSA9IGdl
dENhbGxlckluZm8oZ2xvYmFsRGF0YSwgY2FsbEZyYW1lLCBsaW5lLCB1bnVzZWRCeXRlY29kZU9m
ZnNldCwgdW51c2VkQ2FsbGVyQ29kZUJsb2NrKTsKICAgICB9CiB9CiAKQEAgLTEzODEsNyArMTM3
Nyw4IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OnJldHJpZXZlQ2FsbGVyRnJvbVZNQ29kZShDYWxs
RnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbioKICAgICAKICAgICBpbnQgbGluZU51bWJlcjsK
ICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldDsKLSAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1l
ID0gZ2V0Q2FsbGVySW5mbygmY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCksIGZ1bmN0aW9uQ2FsbEZy
YW1lLCBsaW5lTnVtYmVyLCBieXRlY29kZU9mZnNldCk7CisgICAgQ29kZUJsb2NrKiB1bnVzZWRD
YWxsZXJDb2RlQmxvY2sgPSAwOworICAgIENhbGxGcmFtZSogY2FsbGVyRnJhbWUgPSBnZXRDYWxs
ZXJJbmZvKCZjYWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgZnVuY3Rpb25DYWxsRnJhbWUsIGxpbmVO
dW1iZXIsIGJ5dGVjb2RlT2Zmc2V0LCB1bnVzZWRDYWxsZXJDb2RlQmxvY2spOwogICAgIGlmICgh
Y2FsbGVyRnJhbWUpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKICAgICBKU1ZhbHVlIGNhbGxl
ciA9IGNhbGxlckZyYW1lLT5jYWxsZWUoKTsKQEAgLTEzOTEsNyArMTM4OCw3IEBAIEpTVmFsdWUg
SW50ZXJwcmV0ZXI6OnJldHJpZXZlQ2FsbGVyRnJvbVZNQ29kZShDYWxsRnJhbWUqIGNhbGxGcmFt
ZSwgSlNGdW5jdGlvbioKICAgICAvLyBTa2lwIG92ZXIgZnVuY3Rpb24gYmluZGluZ3MuCiAgICAg
QVNTRVJUKGNhbGxlci5pc09iamVjdCgpKTsKICAgICB3aGlsZSAoYXNPYmplY3QoY2FsbGVyKS0+
aW5oZXJpdHMoJkpTQm91bmRGdW5jdGlvbjo6c19pbmZvKSkgewotICAgICAgICBjYWxsZXJGcmFt
ZSA9IGdldENhbGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBjYWxsZXJGcmFtZSwg
bGluZU51bWJlciwgYnl0ZWNvZGVPZmZzZXQpOworICAgICAgICBjYWxsZXJGcmFtZSA9IGdldENh
bGxlckluZm8oJmNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBjYWxsZXJGcmFtZSwgbGluZU51bWJl
ciwgYnl0ZWNvZGVPZmZzZXQsIHVudXNlZENhbGxlckNvZGVCbG9jayk7CiAgICAgICAgIGlmICgh
Y2FsbGVyRnJhbWUpCiAgICAgICAgICAgICByZXR1cm4ganNOdWxsKCk7CiAgICAgICAgIGNhbGxl
ciA9IGNhbGxlckZyYW1lLT5jYWxsZWUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MTU2ZjA2ZDViNDZiZGFjMjhkOWQ5
ODYyMzI1Y2RhYmVkMzZmMDEzLi5iY2JjYzIzMGNkNWYyZjgxYzI3ZDgyNmU0NmRjZDM0N2MyNDIx
NGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDQtMDQgIE9saXZlciBIdW50ICA8b2xp
dmVyQGFwcGxlLmNvbT4KKworICAgICAgICBFeGNlcHRpb24gc3RhY2sgdW53aW5kaW5nIGRvZXNu
J3QgaGFuZGxlIGlubGluZSBjYWxsZnJhbWVzIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzOTUyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgWWF5IHRlc3RzIQorCisgICAgICAgICogZmFz
dC9qcy9qcy1jb3JyZWN0LWV4Y2VwdGlvbi1oYW5kbGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9qcy9qcy1jb3JyZWN0LWV4Y2VwdGlvbi1oYW5kbGVyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL2pzLWNvcnJlY3QtZXhjZXB0aW9uLWhh
bmRsZXIuanM6IEFkZGVkLgorICAgICAgICAodGhyb3dFdmVudHVhbGx5KToKKyAgICAgICAgKGYu
Zyk6CisgICAgICAgIChmKToKKyAgICAgICAgKHRlc3QpOgorCiAyMDEzLTA0LTA0ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6RmlsZSB1cGxvYWQg
YnV0dG9uIGhhcyB3cm9uZyBsYWJlbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9q
cy1jb3JyZWN0LWV4Y2VwdGlvbi1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvanMvanMtY29ycmVjdC1leGNlcHRpb24taGFuZGxlci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODRkZWEwNDEwN2EyMWM2ZjA0MDkxNzk3MjMzYmU4N2QwYjVkZDU3OQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvanMtY29ycmVjdC1leGNlcHRpb24taGFuZGxlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVmVyaWZ5IHRoYXQgaGFuZGxlIGV4Y2VwdGlv
bnMgZmxvd2luZyB0aHJvdyBpbmxpbmUgY2FsbGZyYW1lcyBjb3JyZWN0bHkKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdCgpIHRocmV3IGV4Y2VwdGlvbiBFcnJvci4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2pzLWNvcnJlY3QtZXhjZXB0aW9uLWhhbmRsZXIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvanMtY29ycmVjdC1leGNlcHRpb24taGFuZGxlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRmYTA2NzY0NzhjYWNmODE3NTM2NzU5NzQwNzdmYmJlMDBlNmM3ZjcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2pzLWNvcnJlY3QtZXhjZXB0
aW9uLWhhbmRsZXIuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvanMtY29ycmVjdC1leGNlcHRpb24taGFuZGxlci5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3Njcmlw
dC10ZXN0cy9qcy1jb3JyZWN0LWV4Y2VwdGlvbi1oYW5kbGVyLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9qcy9zY3JpcHQtdGVzdHMvanMtY29ycmVjdC1leGNlcHRpb24taGFuZGxlci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45YTI5Mzk3M2NkNTE2YzhmNTc1NDg0Mzg3ODdjMTNmZTdkMzNkNWQ3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvanMtY29ycmVjdC1leGNl
cHRpb24taGFuZGxlci5qcwpAQCAtMCwwICsxLDI2IEBACitkZXNjcmlwdGlvbigiVmVyaWZ5IHRo
YXQgaGFuZGxlIGV4Y2VwdGlvbnMgZmxvd2luZyB0aHJvdyBpbmxpbmUgY2FsbGZyYW1lcyBjb3Jy
ZWN0bHkiKTsKKworZnVuY3Rpb24gdGhyb3dFdmVudHVhbGx5KCkgeworICAgIGlmICh2YWx1ZSsr
ID4gMTAwMDApCisgICAgICAgIHRocm93IG5ldyBFcnJvcjsKKyAgICByZXR1cm4gNTsKK30KKwor
dmFyIHZhbHVlID0gMDsKK2Z1bmN0aW9uIGYoeCkgeworICAgIHZhciByZXN1bHQgPSAwOworICAg
IGZ1bmN0aW9uIGcoYSkgeworICAgICAgICByZXR1cm4gYSAqIHRocm93RXZlbnR1YWxseSgpOwor
ICAgIH0KKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDM7IGkrKykKKyAgICAgICAgaSArPSBpICog
aSAqIGkgKiBpICogaSAqIGkgKiBpICogaSAqIGkgKiBpICogaSAqIGkgKiBpICogaSAqIGkgKiBp
ICogaSAqIGkgKiBpICogaSAqIGkgKiBpICogaSAqIGcoeCk7CisgICAgcmV0dXJuIGk7Cit9CisK
K2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgd2hpbGUgKHRydWUpCisgICAgICAgIChmdW5jdGlvbigp
IHtmKDUpfSkoKQorfQorCitzaG91bGRUaHJvdygidGVzdCgpIik7CisK
</data>
<flag name="review"
          id="218610"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>