<?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>49383</bug_id>
          
          <creation_ts>2010-11-11 07:34:34 -0800</creation_ts>
          <short_desc>Incorrect handling of global writes in dynamic contexts</short_desc>
          <delta_ts>2011-02-16 11:36:49 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yong Li">yong.li.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>307903</commentid>
    <comment_count>0</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-11 07:34:34 -0800</bug_when>
    <thetext>When assigning value to a variable in &quot;catch&quot; block, browser always throws InvalidGlobalAssignment exception. Note: this doesn&apos;t happen when using JIT.

It could be an old problem, but become visible since http://trac.webkit.org/changeset/69940.

JSObject* createErrorForInvalidGlobalAssignment(ExecState* exec, const UString&amp; propertyName)
{
   return createReferenceError(exec, makeUString(&quot;Strict mode forbids implicit creation of global property &apos;&quot;, propertyName, &quot;&apos;&quot;));
} 

A simple test case can reproduce it:

&lt;html&gt;
&lt;script&gt;
try {
   throw &quot;test&quot;;
} catch (e1) {
    try {
       var s;
       s = e1.message;
       document.write(&quot;succeeded&quot;);
    } catch (e2) {
        alert(e2);
    }
}
&lt;/script&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308259</commentid>
    <comment_count>1</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-11-11 16:34:04 -0800</bug_when>
    <thetext>Seems like the problem here is that strict mode is being enforced even in non-strict contexts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308260</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-11-11 16:34:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/8660072&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321414</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-13 14:23:54 -0800</bug_when>
    <thetext>How did you find this problem? Did you discover this on an actual website?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349230</commentid>
    <comment_count>4</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-02-10 11:38:35 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; How did you find this problem? Did you discover this on an actual website?

It is acid3 I remember.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349233</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-10 11:39:18 -0800</bug_when>
    <thetext>Don’t want Acid3 to fail!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351788</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-02-15 17:57:13 -0800</bug_when>
    <thetext>Weeee, so many bugs in one small test case!

The original issue (strict mode applied to non-strict code) was fixed a while ago, but this has exposed a bevy of additional bugs which i am determining the root cause of now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352184</commentid>
    <comment_count>7</comment_count>
      <attachid>82661</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-02-16 10:43:51 -0800</bug_when>
    <thetext>Created attachment 82661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352218</commentid>
    <comment_count>8</comment_count>
      <attachid>82661</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-02-16 11:26:22 -0800</bug_when>
    <thetext>Comment on attachment 82661
Patch

r=geoff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352227</commentid>
    <comment_count>9</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-02-16 11:36:49 -0800</bug_when>
    <thetext>Committed r78727: &lt;http://trac.webkit.org/changeset/78727&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82661</attachid>
            <date>2011-02-16 10:43:51 -0800</date>
            <delta_ts>2011-02-16 11:26:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49383-20110216104350.patch</filename>
            <type>text/plain</type>
            <size>12027</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg2MzkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5M2EzM2NmNDY3NjEzZGUyNWEyMGFh
NjdkNjkxNjNmZjM0NTQ2NTgwLi5kOWIxYjUwNmJmY2ZhODI3Y2UzMmQ4YWNhZTkwMGQzOWNlNWY3
MzkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDItMTYgIE9saXZlciBIdW50ICA8b2xp
dmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbmNvcnJlY3QgaGFuZGxpbmcgb2YgZ2xvYmFsIHdyaXRlcyBpbiBkeW5hbWljIGNv
bnRleHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
OTM4MworCisgICAgICAgIEFkZCBhIGZldyB0ZXN0cyB0byBlbnN1cmUgdGhhdCBnbG9iYWwgd3Jp
dGVzIGFyZSBhY3R1YWxseQorICAgICAgICBhbGxvd2VkIGluc2lkZSBkeW5hbWljIHNjb3Blcy4K
KworICAgICAgICAqIGZhc3QvanMvYmFzaWMtc3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL2Jhc2ljLXN0cmljdC1tb2RlLmpzOgorCiAyMDEx
LTAyLTE1ICBQZXRlciBLYXN0aW5nICA8cGthc3RpbmdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2pzL2Jhc2ljLXN0cmljdC1tb2RlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvYmFzaWMtc3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0CmluZGV4IGRl
NzA1NjhjYzQ3YzVlMjliZWNiMDUxNmUxZTlmMTM3M2IwYjRmOWEuLjIxZjMxMWNmNDVmM2U0Zjdj
NTBkODlmNGYyM2UwOWY5YzY1ZmFjODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMv
YmFzaWMtc3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMv
YmFzaWMtc3RyaWN0LW1vZGUtZXhwZWN0ZWQudHh0CkBAIC0xOTIsNiArMTkyLDEyIEBAIFBBU1Mg
J3VzZSBzdHJpY3QnO3ZhciBhPShldmFsPTEpOyB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFBhcnNlIGVycm9yLgogUEFTUyAoZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7dmFyIGE9KGV2YWw9
MSk7fSkgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBQYXJzZSBlcnJvci4KIFBBU1MgJ3Vz
ZSBzdHJpY3QnO3ZhciBhPShhcmd1bWVudHM9MSk7IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogUGFyc2UgZXJyb3IuCiBQQVNTIChmdW5jdGlvbigpeyd1c2Ugc3RyaWN0Jzt2YXIgYT0oYXJn
dW1lbnRzPTEpO30pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IuCitQ
QVNTICd1c2Ugc3RyaWN0JzsgdHJ5IHsgdGhyb3cgMTsgfSBjYXRjaCAoZSkgeyBhR2xvYmFsID0g
dHJ1ZTsgfSBpcyB0cnVlCitQQVNTICd1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uICgpIHsgdHJ5IHsg
dGhyb3cgMTsgfSBjYXRjaCAoZSkgeyBhR2xvYmFsID0gdHJ1ZTsgfX0pKCk7IGFHbG9iYWw7IGlz
IHRydWUKK1BBU1MgKGZ1bmN0aW9uICgpIHsndXNlIHN0cmljdCc7ICB0cnkgeyB0aHJvdyAxOyB9
IGNhdGNoIChlKSB7IGFHbG9iYWwgPSB0cnVlOyB9fSkoKTsgYUdsb2JhbDsgaXMgdHJ1ZQorUEFT
UyB0cnkgeyB0aHJvdyAxOyB9IGNhdGNoIChlKSB7IGFHbG9iYWwgPSB0cnVlOyB9IGlzIHRydWUK
K1BBU1MgKGZ1bmN0aW9uICgpIHsgdHJ5IHsgdGhyb3cgMTsgfSBjYXRjaCAoZSkgeyBhR2xvYmFs
ID0gdHJ1ZTsgfX0pKCk7IGFHbG9iYWw7IGlzIHRydWUKK1BBU1MgKGZ1bmN0aW9uICgpIHt0cnkg
eyB0aHJvdyAxOyB9IGNhdGNoIChlKSB7IGFHbG9iYWwgPSB0cnVlOyB9fSkoKTsgYUdsb2JhbDsg
aXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9iYXNpYy1zdHJp
Y3QtbW9kZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2Jhc2ljLXN0cmlj
dC1tb2RlLmpzCmluZGV4IDBjZWZjZGRkMzMwNDFiMGY1YzdmMzg3N2JjNmFmOTg3YzRhODIxMDku
LmY2ZDgxOTM0NjJhYzAyZWFjYzBkN2I4MzExNTFhNjljOTBkY2ZmMzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2Jhc2ljLXN0cmljdC1tb2RlLmpzCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2Jhc2ljLXN0cmljdC1tb2RlLmpzCkBA
IC0xNzEsNCArMTcxLDE4IEBAIHNob3VsZEJlU3ludGF4RXJyb3IoIid1c2Ugc3RyaWN0Jzthcmd1
bWVudHM9MTsiKTsKIHNob3VsZEJlU3ludGF4RXJyb3IoIid1c2Ugc3RyaWN0JzsxLShhcmd1bWVu
dHM9MSk7Iik7CiBzaG91bGRCZVN5bnRheEVycm9yKCIndXNlIHN0cmljdCc7dmFyIGE9KGV2YWw9
MSk7Iik7CiBzaG91bGRCZVN5bnRheEVycm9yKCIndXNlIHN0cmljdCc7dmFyIGE9KGFyZ3VtZW50
cz0xKTsiKTsKKwordmFyIGFHbG9iYWwgPSBmYWxzZTsKK3Nob3VsZEJlVHJ1ZSgiJ3VzZSBzdHJp
Y3QnOyB0cnkgeyB0aHJvdyAxOyB9IGNhdGNoIChlKSB7IGFHbG9iYWwgPSB0cnVlOyB9Iik7Cith
R2xvYmFsID0gZmFsc2U7CitzaG91bGRCZVRydWUoIid1c2Ugc3RyaWN0JzsgKGZ1bmN0aW9uICgp
IHsgdHJ5IHsgdGhyb3cgMTsgfSBjYXRjaCAoZSkgeyBhR2xvYmFsID0gdHJ1ZTsgfX0pKCk7IGFH
bG9iYWw7Iik7CithR2xvYmFsID0gZmFsc2U7CitzaG91bGRCZVRydWUoIihmdW5jdGlvbiAoKSB7
J3VzZSBzdHJpY3QnOyAgdHJ5IHsgdGhyb3cgMTsgfSBjYXRjaCAoZSkgeyBhR2xvYmFsID0gdHJ1
ZTsgfX0pKCk7IGFHbG9iYWw7Iik7CithR2xvYmFsID0gZmFsc2U7CitzaG91bGRCZVRydWUoInRy
eSB7IHRocm93IDE7IH0gY2F0Y2ggKGUpIHsgYUdsb2JhbCA9IHRydWU7IH0iKTsKK2FHbG9iYWwg
PSBmYWxzZTsKK3Nob3VsZEJlVHJ1ZSgiKGZ1bmN0aW9uICgpIHsgdHJ5IHsgdGhyb3cgMTsgfSBj
YXRjaCAoZSkgeyBhR2xvYmFsID0gdHJ1ZTsgfX0pKCk7IGFHbG9iYWw7Iik7CithR2xvYmFsID0g
ZmFsc2U7CitzaG91bGRCZVRydWUoIihmdW5jdGlvbiAoKSB7dHJ5IHsgdGhyb3cgMTsgfSBjYXRj
aCAoZSkgeyBhR2xvYmFsID0gdHJ1ZTsgfX0pKCk7IGFHbG9iYWw7Iik7CisKIHZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNGFhN2MyMTRk
ZmMwMjYyMGRjOWMxMmQzMmZmODNmN2E0YTkxMGQwYy4uMWMzOTJiNjdiNjVhYTk4Y2RkNDllNzBl
ZjY0NjZjNjlmNGEyZmRkYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTEtMDItMTYgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmNvcnJlY3QgaGFuZGxp
bmcgb2YgZ2xvYmFsIHdyaXRlcyBpbiBkeW5hbWljIGNvbnRleHRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTM4MworCisgICAgICAgICogaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6cHJpdmF0
ZUV4ZWN1dGUpOgorICAgICAgICAgIENhbid0IHVzZSB0aGUgZXhpc3RpbmcgY2FsbGZyYW1lIHRv
IHJldHVybiBhbiB1bmNhdWdodCBleGNlcHRpb24KKyAgICAgICAgICBhcyBieSBkZWZpbml0aW9u
IHRoYXQgY2FsbGZyYW1lIGhhcyBhbHJlYWR5IGJlZW4gdG9ybiBkb3duLgorICAgICAgICAqIHBh
cnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OkFTVEJ1aWxkZXIp
OgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjp2YXJEZWNsYXJhdGlvbnMpOgorICAgICAgICAo
SlNDOjpBU1RCdWlsZGVyOjpmdW5jRGVjbGFyYXRpb25zKToKKyAgICAgICAgKEpTQzo6QVNUQnVp
bGRlcjo6ZmVhdHVyZXMpOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpudW1Db25zdGFudHMp
OgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVGdW5jRGVjbFN0YXRlbWVudCk6Cisg
ICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmFkZFZhcik6CisgICAgICAgIChKU0M6OkFTVEJ1aWxk
ZXI6OmluY0NvbnN0YW50cyk6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OnVzZXNUaGlzKToK
KyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6dXNlc0NhdGNoKToKKyAgICAgICAgKEpTQzo6QVNU
QnVpbGRlcjo6dXNlc0Nsb3N1cmVzKToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6dXNlc0Fy
Z3VtZW50cyk6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OnVzZXNBc3NpZ25tZW50KToKKyAg
ICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6dXNlc1dpdGgpOgorICAgICAgICAoSlNDOjpBU1RCdWls
ZGVyOjp1c2VzRXZhbCk6CisgICAgICAgICAgRG9uJ3QgbmVlZCBhIHZlY3RvciBvZiBzY29wZXMg
aW4gdGhlIEFTVEJ1aWxkZXIKKyAgICAgICAgKiBydW50aW1lL09wZXJhdGlvbnMuaDoKKyAgICAg
ICAgKEpTQzo6cmVzb2x2ZUJhc2UpOgorICAgICAgICAgIEluIHN0cmljdCBtb2RlIHRoZSBvcHRp
bWlzYXRpb24gdGhhdCB3ZSB1c2UgdG8gc2tpcCBhIGxvb2t1cAorICAgICAgICAgIG9uIHRoZSBn
bG9iYWwgb2JqZWN0IGlzIGluY29ycmVjdCBhbmQgbGVhZCB0byB1cyBhbHdheXMKKyAgICAgICAg
ICBkaXNhbGxvd2luZyBnbG9iYWwgd3JpdGVzIHdoZW4gd2UgbmVlZGVkIHRvIGRvIGEgZHluYW1p
YyBzbG90CisgICAgICAgICAgbG9va3VwLiAgTm93IHRoZSBzdHJpY3QgbW9kZSBwYXRoIGFjdHVh
bGx5IGNoZWNrcyBmb3IgdGhlCisgICAgICAgICAgcHJvcGVydHkuCisKIDIwMTEtMDItMTUgIE9s
aXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggRUZMIGJ1aWxkIGZv
cgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAKaW5kZXggNjI0NDZlNTVjNTI4MjkwMDhjNTdmN2U0NjlhNDJiYTlkOTJiNTQ1Yy4uYjlhM2Iz
ODYwYWE1YzA5YmU3NmU0ZTk2Njg0N2I5MzIzMjdkM2JkMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC0yNDQ5LDE0ICsyNDQ5
LDE2IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OnByaXZhdGVFeGVjdXRlKEV4ZWN1dGlvbkZsYWcg
ZmxhZywgUmVnaXN0ZXJGaWxlKiByZWdpc3RlckZpCiAgICAgICAgIE5FWFRfSU5TVFJVQ1RJT04o
KTsKICAgICB9CiAgICAgREVGSU5FX09QQ09ERShvcF9yZXNvbHZlX2Jhc2UpIHsKLSAgICAgICAg
LyogcmVzb2x2ZV9iYXNlIGRzdChyKSBwcm9wZXJ0eShpZCkKKyAgICAgICAgLyogcmVzb2x2ZV9i
YXNlIGRzdChyKSBwcm9wZXJ0eShpZCkgaXNTdHJpY3QoYm9vbCkKIAogICAgICAgICAgICBTZWFy
Y2hlcyB0aGUgc2NvcGUgY2hhaW4gZm9yIGFuIG9iamVjdCBjb250YWluaW5nCiAgICAgICAgICAg
IGlkZW50aWZpZXIgcHJvcGVydHksIGFuZCBpZiBvbmUgaXMgZm91bmQsIHdyaXRlcyBpdCB0bwot
ICAgICAgICAgICByZWdpc3RlciBkc3QuIElmIG5vbmUgaXMgZm91bmQsIHRoZSBvdXRlcm1vc3Qg
c2NvcGUgKHdoaWNoCi0gICAgICAgICAgIHdpbGwgYmUgdGhlIGdsb2JhbCBvYmplY3QpIGlzIHN0
b3JlZCBpbiByZWdpc3RlciBkc3QuCisgICAgICAgICAgIHJlZ2lzdGVyIGRzdC4gSWYgbm9uZSBp
cyBmb3VuZCBhbmQgaXNTdHJpY3QgaXMgZmFsc2UsIHRoZQorICAgICAgICAgICBvdXRlcm1vc3Qg
c2NvcGUgKHdoaWNoIHdpbGwgYmUgdGhlIGdsb2JhbCBvYmplY3QpIGlzCisgICAgICAgICAgIHN0
b3JlZCBpbiByZWdpc3RlciBkc3QuCiAgICAgICAgICovCiAgICAgICAgIHJlc29sdmVCYXNlKGNh
bGxGcmFtZSwgdlBDKTsKKyAgICAgICAgQ0hFQ0tfRk9SX0VYQ0VQVElPTigpOwogCiAgICAgICAg
IHZQQyArPSBPUENPREVfTEVOR1RIKG9wX3Jlc29sdmVfYmFzZSk7CiAgICAgICAgIE5FWFRfSU5T
VFJVQ1RJT04oKTsKQEAgLTQ3NzYsOSArNDc3OCwxMyBAQCBza2lwX2lkX2N1c3RvbV9zZWxmOgog
ICAgICAgICAgICAgLy8gY2Fubm90IGZhdGhvbSBpZiB3ZSBkb24ndCBhc3NpZ24gdG8gdGhlIGV4
Y2VwdGlvblZhbHVlIGJlZm9yZSBicmFuY2hpbmcpCiAgICAgICAgICAgICBleGNlcHRpb25WYWx1
ZSA9IGNyZWF0ZUludGVycnVwdGVkRXhlY3V0aW9uRXhjZXB0aW9uKGdsb2JhbERhdGEpOwogICAg
ICAgICB9CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBjYWxsRnJhbWUt
PmxleGljYWxHbG9iYWxPYmplY3QoKTsKICAgICAgICAgaGFuZGxlciA9IHRocm93RXhjZXB0aW9u
KGNhbGxGcmFtZSwgZXhjZXB0aW9uVmFsdWUsIHZQQyAtIGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25z
KCkuYmVnaW4oKSk7Ci0gICAgICAgIGlmICghaGFuZGxlcikKLSAgICAgICAgICAgIHJldHVybiB0
aHJvd0Vycm9yKGNhbGxGcmFtZSwgZXhjZXB0aW9uVmFsdWUpOworICAgICAgICBpZiAoIWhhbmRs
ZXIpIHsKKyAgICAgICAgICAgIC8vIENhbid0IHVzZSB0aGUgY2FsbGZyYW1lIGF0IHRoaXMgcG9p
bnQgYXMgdGhlIHNjb3BlY2hhaW4sIGV0YyBoYXZlCisgICAgICAgICAgICAvLyBiZWVuIHJlbGVh
c2VkLgorICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZ2xvYmFsT2JqZWN0LT5nbG9iYWxF
eGVjKCksIGV4Y2VwdGlvblZhbHVlKTsKKyAgICAgICAgfQogCiAgICAgICAgIGNvZGVCbG9jayA9
IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCk7CiAgICAgICAgIHZQQyA9IGNvZGVCbG9jay0+aW5zdHJ1
Y3Rpb25zKCkuYmVnaW4oKSArIGhhbmRsZXItPnRhcmdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggMGUxOGQxZDgxZmE2Mzk3ZmUzODQ5MjFhZTg0MWFl
OTFlZmQwMTMzNy4uOWFiMGY5ZDU0ZTk0ZDYyMDdjNGZlNzI4NTk5MjkxZjliMDc4OTZiYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTc2LDkgKzc2LDkg
QEAgcHVibGljOgogICAgIEFTVEJ1aWxkZXIoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBMZXhl
ciogbGV4ZXIpCiAgICAgICAgIDogbV9nbG9iYWxEYXRhKGdsb2JhbERhdGEpCiAgICAgICAgICwg
bV9sZXhlcihsZXhlcikKKyAgICAgICAgLCBtX3Njb3BlKGdsb2JhbERhdGEpCiAgICAgICAgICwg
bV9ldmFsQ291bnQoMCkKICAgICB7Ci0gICAgICAgIG1fc2NvcGVzLmFwcGVuZChTY29wZShnbG9i
YWxEYXRhKSk7CiAgICAgfQogICAgIAogICAgIHN0cnVjdCBCaW5hcnlFeHByQ29udGV4dCB7CkBA
IC0xMTUsMTAgKzExNSwxMCBAQCBwdWJsaWM6CiAKICAgICBKU0M6OlNvdXJjZUVsZW1lbnRzKiBj
cmVhdGVTb3VyY2VFbGVtZW50cygpIHsgcmV0dXJuIG5ldyAobV9nbG9iYWxEYXRhKSBKU0M6OlNv
dXJjZUVsZW1lbnRzKG1fZ2xvYmFsRGF0YSk7IH0KIAotICAgIFBhcnNlckFyZW5hRGF0YTxEZWNs
YXJhdGlvblN0YWNrczo6VmFyU3RhY2s+KiB2YXJEZWNsYXJhdGlvbnMoKSB7IHJldHVybiBtX3Nj
b3Blcy5sYXN0KCkubV92YXJEZWNsYXJhdGlvbnM7IH0KLSAgICBQYXJzZXJBcmVuYURhdGE8RGVj
bGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2s+KiBmdW5jRGVjbGFyYXRpb25zKCkgeyByZXR1
cm4gbV9zY29wZXMubGFzdCgpLm1fZnVuY0RlY2xhcmF0aW9uczsgfQotICAgIGludCBmZWF0dXJl
cygpIGNvbnN0IHsgcmV0dXJuIG1fc2NvcGVzLmxhc3QoKS5tX2ZlYXR1cmVzOyB9Ci0gICAgaW50
IG51bUNvbnN0YW50cygpIGNvbnN0IHsgcmV0dXJuIG1fc2NvcGVzLmxhc3QoKS5tX251bUNvbnN0
YW50czsgfQorICAgIFBhcnNlckFyZW5hRGF0YTxEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2s+
KiB2YXJEZWNsYXJhdGlvbnMoKSB7IHJldHVybiBtX3Njb3BlLm1fdmFyRGVjbGFyYXRpb25zOyB9
CisgICAgUGFyc2VyQXJlbmFEYXRhPERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrPiog
ZnVuY0RlY2xhcmF0aW9ucygpIHsgcmV0dXJuIG1fc2NvcGUubV9mdW5jRGVjbGFyYXRpb25zOyB9
CisgICAgaW50IGZlYXR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9zY29wZS5tX2ZlYXR1cmVzOyB9
CisgICAgaW50IG51bUNvbnN0YW50cygpIGNvbnN0IHsgcmV0dXJuIG1fc2NvcGUubV9udW1Db25z
dGFudHM7IH0KIAogICAgIHZvaWQgYXBwZW5kVG9Db21tYShDb21tYU5vZGUqIGNvbW1hTm9kZSwg
RXhwcmVzc2lvbk5vZGUqIGV4cHIpIHsgY29tbWFOb2RlLT5hcHBlbmQoZXhwcik7IH0KIApAQCAt
MzAwLDcgKzMwMCw3IEBAIHB1YmxpYzoKICAgICAgICAgRnVuY0RlY2xOb2RlKiBkZWNsID0gbmV3
IChtX2dsb2JhbERhdGEpIEZ1bmNEZWNsTm9kZShtX2dsb2JhbERhdGEsICpuYW1lLCBib2R5LCBt
X2xleGVyLT5zb3VyY2VDb2RlKG9wZW5CcmFjZVBvcywgY2xvc2VCcmFjZVBvcywgYm9keVN0YXJ0
TGluZSksIHBhcmFtZXRlcnMpOwogICAgICAgICBpZiAoKm5hbWUgPT0gbV9nbG9iYWxEYXRhLT5w
cm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMpCiAgICAgICAgICAgICB1c2VzQXJndW1lbnRzKCk7Ci0g
ICAgICAgIG1fc2NvcGVzLmxhc3QoKS5tX2Z1bmNEZWNsYXJhdGlvbnMtPmRhdGEuYXBwZW5kKGRl
Y2wtPmJvZHkoKSk7CisgICAgICAgIG1fc2NvcGUubV9mdW5jRGVjbGFyYXRpb25zLT5kYXRhLmFw
cGVuZChkZWNsLT5ib2R5KCkpOwogICAgICAgICBib2R5LT5zZXRMb2MoYm9keVN0YXJ0TGluZSwg
Ym9keUVuZExpbmUpOwogICAgICAgICByZXR1cm4gZGVjbDsKICAgICB9CkBAIC00OTQsNyArNDk0
LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKG1fZ2xvYmFsRGF0YS0+cHJvcGVydHlO
YW1lcy0+YXJndW1lbnRzID09ICppZGVudCkKICAgICAgICAgICAgIHVzZXNBcmd1bWVudHMoKTsK
LSAgICAgICAgbV9zY29wZXMubGFzdCgpLm1fdmFyRGVjbGFyYXRpb25zLT5kYXRhLmFwcGVuZChz
dGQ6Om1ha2VfcGFpcihpZGVudCwgYXR0cnMpKTsKKyAgICAgICAgbV9zY29wZS5tX3ZhckRlY2xh
cmF0aW9ucy0+ZGF0YS5hcHBlbmQoc3RkOjptYWtlX3BhaXIoaWRlbnQsIGF0dHJzKSk7CiAgICAg
fQogCiAgICAgRXhwcmVzc2lvbk5vZGUqIGNvbWJpbmVDb21tYU5vZGVzKEV4cHJlc3Npb25Ob2Rl
KiBsaXN0LCBFeHByZXNzaW9uTm9kZSogaW5pdCkKQEAgLTYxMSwxNyArNjExLDE3IEBAIHByaXZh
dGU6CiAgICAgICAgIG5vZGUtPnNldEV4Y2VwdGlvblNvdXJjZUNvZGUoZGl2b3QsIGRpdm90IC0g
c3RhcnQsIGVuZCAtIGRpdm90KTsKICAgICB9CiAKLSAgICB2b2lkIGluY0NvbnN0YW50cygpIHsg
bV9zY29wZXMubGFzdCgpLm1fbnVtQ29uc3RhbnRzKys7IH0KLSAgICB2b2lkIHVzZXNUaGlzKCkg
eyBtX3Njb3Blcy5sYXN0KCkubV9mZWF0dXJlcyB8PSBUaGlzRmVhdHVyZTsgfQotICAgIHZvaWQg
dXNlc0NhdGNoKCkgeyBtX3Njb3Blcy5sYXN0KCkubV9mZWF0dXJlcyB8PSBDYXRjaEZlYXR1cmU7
IH0KLSAgICB2b2lkIHVzZXNDbG9zdXJlcygpIHsgbV9zY29wZXMubGFzdCgpLm1fZmVhdHVyZXMg
fD0gQ2xvc3VyZUZlYXR1cmU7IH0KLSAgICB2b2lkIHVzZXNBcmd1bWVudHMoKSB7IG1fc2NvcGVz
Lmxhc3QoKS5tX2ZlYXR1cmVzIHw9IEFyZ3VtZW50c0ZlYXR1cmU7IH0KLSAgICB2b2lkIHVzZXNB
c3NpZ25tZW50KCkgeyBtX3Njb3Blcy5sYXN0KCkubV9mZWF0dXJlcyB8PSBBc3NpZ25GZWF0dXJl
OyB9Ci0gICAgdm9pZCB1c2VzV2l0aCgpIHsgbV9zY29wZXMubGFzdCgpLm1fZmVhdHVyZXMgfD0g
V2l0aEZlYXR1cmU7IH0KKyAgICB2b2lkIGluY0NvbnN0YW50cygpIHsgbV9zY29wZS5tX251bUNv
bnN0YW50cysrOyB9CisgICAgdm9pZCB1c2VzVGhpcygpIHsgbV9zY29wZS5tX2ZlYXR1cmVzIHw9
IFRoaXNGZWF0dXJlOyB9CisgICAgdm9pZCB1c2VzQ2F0Y2goKSB7IG1fc2NvcGUubV9mZWF0dXJl
cyB8PSBDYXRjaEZlYXR1cmU7IH0KKyAgICB2b2lkIHVzZXNDbG9zdXJlcygpIHsgbV9zY29wZS5t
X2ZlYXR1cmVzIHw9IENsb3N1cmVGZWF0dXJlOyB9CisgICAgdm9pZCB1c2VzQXJndW1lbnRzKCkg
eyBtX3Njb3BlLm1fZmVhdHVyZXMgfD0gQXJndW1lbnRzRmVhdHVyZTsgfQorICAgIHZvaWQgdXNl
c0Fzc2lnbm1lbnQoKSB7IG1fc2NvcGUubV9mZWF0dXJlcyB8PSBBc3NpZ25GZWF0dXJlOyB9Cisg
ICAgdm9pZCB1c2VzV2l0aCgpIHsgbV9zY29wZS5tX2ZlYXR1cmVzIHw9IFdpdGhGZWF0dXJlOyB9
CiAgICAgdm9pZCB1c2VzRXZhbCgpIAogICAgIHsKICAgICAgICAgbV9ldmFsQ291bnQrKzsKLSAg
ICAgICAgbV9zY29wZXMubGFzdCgpLm1fZmVhdHVyZXMgfD0gRXZhbEZlYXR1cmU7CisgICAgICAg
IG1fc2NvcGUubV9mZWF0dXJlcyB8PSBFdmFsRmVhdHVyZTsKICAgICB9CiAgICAgRXhwcmVzc2lv
bk5vZGUqIGNyZWF0ZU51bWJlcihkb3VibGUgZCkKICAgICB7CkBAIC02MzAsNyArNjMwLDcgQEAg
cHJpdmF0ZToKICAgICAKICAgICBKU0dsb2JhbERhdGEqIG1fZ2xvYmFsRGF0YTsKICAgICBMZXhl
ciogbV9sZXhlcjsKLSAgICBWZWN0b3I8U2NvcGU+IG1fc2NvcGVzOworICAgIFNjb3BlIG1fc2Nv
cGU7CiAgICAgVmVjdG9yPEJpbmFyeU9wZXJhbmQsIDEwPiBtX2JpbmFyeU9wZXJhbmRTdGFjazsK
ICAgICBWZWN0b3I8QXNzaWdubWVudEluZm8sIDEwPiBtX2Fzc2lnbm1lbnRJbmZvU3RhY2s7CiAg
ICAgVmVjdG9yPHBhaXI8aW50LCBpbnQ+LCAxMD4gbV9iaW5hcnlPcGVyYXRvclN0YWNrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCmluZGV4IDZlODQxMjM5YWVk
NzY3NjlkMTg3ZDc0MzE5YWZiYjZhZjE3ZjlkZTAuLjE4MWY5MTIzYjcwYzhmNzVkMTdkZDcxMWZj
YjVkYTM0ODQzMTA5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmgKQEAgLTQ3Miw4ICs0NzIsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTT2Jq
ZWN0KiBiYXNlOwogICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgYmFzZSA9IGl0
ZXItPmdldCgpOwotICAgICAgICAgICAgaWYgKG5leHQgPT0gZW5kKQotICAgICAgICAgICAgICAg
IHJldHVybiBpc1N0cmljdFB1dCA/IEpTVmFsdWUoKSA6IGJhc2U7CisgICAgICAgICAgICBpZiAo
bmV4dCA9PSBlbmQpIHsKKyAgICAgICAgICAgICAgICBpZiAoaXNTdHJpY3RQdXQgJiYgIWJhc2Ut
PmdldFByb3BlcnR5U2xvdChjYWxsRnJhbWUsIHByb3BlcnR5LCBzbG90KSkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChiYXNlLT5nZXRQcm9wZXJ0eVNsb3QoY2Fs
bEZyYW1lLCBwcm9wZXJ0eSwgc2xvdCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGJhc2U7CiAK
</data>
<flag name="review"
          id="74336"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>