<?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>30996</bug_id>
          
          <creation_ts>2009-11-01 13:24:07 -0800</creation_ts>
          <short_desc>`localStorage.setItem` can overwrite `localStorage` methods</short_desc>
          <delta_ts>2012-04-17 13:32: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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</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="kangax">kangax</reporter>
          <assigned_to name="Ben Murdoch">benm</assigned_to>
          <cc>abarth</cc>
    
    <cc>benm</cc>
    
    <cc>gojpeg</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jorlow</cc>
    
    <cc>michaeln</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>159660</commentid>
    <comment_count>0</comment_count>
    <who name="kangax">kangax</who>
    <bug_when>2009-11-01 13:24:07 -0800</bug_when>
    <thetext>It&apos;s currently possible to overwrite methods of `localStorage` simply by setting values of same-named keys through `setItem`:

localStorage.setItem(&apos;clear&apos;, &apos;x&apos;); 
localStorage.clear; // &quot;x&quot;, not original &quot;clear&quot; method.

This is rather destructive and probably shouldn&apos;t happen. Mozilla, for example, allows to overwrite methods of `localStorage` but only through direct accessors (localStorage.clear = &apos;x&apos;). Using getItem/setItem allows to use any key and not worry about one of them overwriting actual `clearStorage` method.

This still happens in r50383.

Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179025</commentid>
    <comment_count>1</comment_count>
    <who name="kangax">kangax</who>
    <bug_when>2010-01-09 12:40:46 -0800</bug_when>
    <thetext>Can anyone please comment on this? Still happens in r53036.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299056</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-25 13:04:39 -0700</bug_when>
    <thetext>There have been some WhatWG threads on this.  I&apos;m waiting on clarification by the spec editor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368662</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Leonov">gojpeg</who>
    <bug_when>2011-03-16 17:11:13 -0700</bug_when>
    <thetext>Still present in r80833.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604050</commentid>
    <comment_count>4</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-04-17 08:43:10 -0700</bug_when>
    <thetext>There is a Chromium bug for this issue: http://code.google.com/p/chromium/issues/detail?id=110216

I have a patch for both JSC and V8 bindings with a layout test to follow shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604058</commentid>
    <comment_count>5</comment_count>
      <attachid>137546</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-04-17 08:59:36 -0700</bug_when>
    <thetext>Created attachment 137546
patch and layout test

Patch and layout test for this issue. This brings us in line with the implementation in FF and IE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604066</commentid>
    <comment_count>6</comment_count>
      <attachid>137546</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-17 09:12:04 -0700</bug_when>
    <thetext>Comment on attachment 137546
patch and layout test

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

&gt; Source/WebCore/bindings/v8/custom/V8StorageCustom.cpp:77
&gt; +    if (!info.Holder()-&gt;GetRealNamedPropertyInPrototypeChain(name).IsEmpty())

Nit: .IsEmpty() is not necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604094</commentid>
    <comment_count>7</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-04-17 09:53:21 -0700</bug_when>
    <thetext>(In reply to comment #6)

Thanks for the review!

&gt; (From update of attachment 137546 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=137546&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/v8/custom/V8StorageCustom.cpp:77
&gt; &gt; +    if (!info.Holder()-&gt;GetRealNamedPropertyInPrototypeChain(name).IsEmpty())
&gt; 
&gt; Nit: .IsEmpty() is not necessary.

Hm, I want to test whether there is a prototype property present (note the ! at the start of the condition) - removing the ! and .isEmpty() gives me a compiler error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604095</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-17 09:54:36 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Hm, I want to test whether there is a prototype property present (note the ! at the start of the condition) - removing the ! and .isEmpty() gives me a compiler error.

Ah, got it. Then let&apos;s use .isEmpty(). Sorry for the confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604101</commentid>
    <comment_count>9</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2012-04-17 10:01:46 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; Hm, I want to test whether there is a prototype property present (note the ! at the start of the condition) - removing the ! and .isEmpty() gives me a compiler error.
&gt; 
&gt; Ah, got it. Then let&apos;s use .isEmpty(). Sorry for the confusion.

No problem, thanks! Will put it into the commit queue. Cheers, Ben</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604293</commentid>
    <comment_count>10</comment_count>
      <attachid>137546</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 13:32:41 -0700</bug_when>
    <thetext>Comment on attachment 137546
patch and layout test

Clearing flags on attachment: 137546

Committed r114427: &lt;http://trac.webkit.org/changeset/114427&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604294</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 13:32:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137546</attachid>
            <date>2012-04-17 08:59:36 -0700</date>
            <delta_ts>2012-04-17 13:32:40 -0700</delta_ts>
            <desc>patch and layout test</desc>
            <filename>30996.txt</filename>
            <type>text/plain</type>
            <size>7681</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDM4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA0LTE3ICBCZW4gTXVy
ZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KKworICAgICAgICBgbG9jYWxTdG9yYWdlLnNldEl0ZW1g
IGNhbiBvdmVyd3JpdGUgYGxvY2FsU3RvcmFnZWAgbWV0aG9kcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA5OTYKKworICAgICAgICBVcGRhdGUgdGhl
IEpTQyBhbmQgVjggYmluZGluZ3Mgc3VjaCB0aGF0IGlmIHRoZSBuYW1lIG9mIHRoZSBET00KKyAg
ICAgICAgU3RvcmFnZSBwcm9wZXJ0eSBiZWluZyByZXRyaWV2ZWQgaXMgYSBtYXRjaCBmb3IgYSBw
cm9wZXJ0eSBpbiB0aGUKKyAgICAgICAgcHJvdG90eXBlLCBhbHdheXMgcmV0dXJuIHRoZSBwcm90
b3R5cGUgdmVyc2lvbi4gSWYgdGhlcmUgaXMgYSBET00KKyAgICAgICAgU3RvcmFnZSBrZXkgb2Yg
dGhlIHNhbWUgbmFtZSwgaXQgY2FuIHN0aWxsIGJlIHJldHJpZXZlZCB2aWEgdGhlCisgICAgICAg
IGdldEl0ZW0gbWV0aG9kLiBUaGlzIHByZXZlbnRzIHN0b3JhZ2UgbWV0aG9kcyBmcm9tIGJlaW5n
CisgICAgICAgIGFjY2lkZW50YWxseSBoaWRkZW4uIFRoaXMgYnJpbmdzIFdlYktpdCBiZWhhdmlv
ciBpbiBsaW5lIHdpdGggdGhlCisgICAgICAgIGRlIGZhY3RvIHN0YW5kYXJkIGltcGxlbWVudGVk
IGJ5IEZpcmVGb3ggYW5kIElFLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvZG9tc3RvcmFnZS9zdG9yYWdlLWZ1bmN0aW9ucy1u
b3Qtb3ZlcndyaXR0ZW4uaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNTdG9yYWdlQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU3RvcmFnZTo6bmFtZUdldHRlcik6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOFN0b3JhZ2U6Om5hbWVkUHJvcGVydHlHZXR0ZXIpOgorCiAyMDEyLTA0LTE3ICBZ
b25nIExpICA8eW9saUByaW0uY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxMDU0NTMpOiBD
cmFzaCB3aGVuIGhhbmRsaW5nIHRvdWNoIGV2ZW50cwpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1N0b3JhZ2VDdXN0b20uY3BwCShyZXZpc2lvbiAxMTQzNzUpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0b3JhZ2VDdXN0b20uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00Miw2ICs0MiwxMSBAQCBib29sIEpTU3RvcmFnZTo6Y2FuR2V0SXRlbXNGb3JOYW1l
KEV4ZWNTCiBKU1ZhbHVlIEpTU3RvcmFnZTo6bmFtZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpT
VmFsdWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKICAgICBK
U1N0b3JhZ2UqIHRoaXNPYmogPSBqc0Nhc3Q8SlNTdG9yYWdlKj4oYXNPYmplY3Qoc2xvdEJhc2Up
KTsKKyAgICAgICAgCisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBhc09iamVjdChzbG90QmFzZSkt
PnByb3RvdHlwZSgpOworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSAmJiBhc09iamVjdChw
cm90b3R5cGUpLT5oYXNQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpKQorICAgICAgICByZXR1
cm4gYXNPYmplY3QocHJvdG90eXBlKS0+Z2V0KGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgCiAgICAg
cmV0dXJuIGpzU3RyaW5nT3JOdWxsKGV4ZWMsIHRoaXNPYmotPmltcGwoKS0+Z2V0SXRlbShpZGVu
dGlmaWVyVG9TdHJpbmcocHJvcGVydHlOYW1lKSkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcAkocmV2
aXNpb24gMTE0Mzc1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3Rv
cmFnZUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDYgKzc0LDggQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4U3RvcmFnZTo6aW5kZXhlZAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
U3RvcmFnZTo6bmFtZWRQcm9wZXJ0eUdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwg
Y29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5TdG9y
YWdlLk5hbWVkUHJvcGVydHlHZXR0ZXIiKTsKKyAgICBpZiAoIWluZm8uSG9sZGVyKCktPkdldFJl
YWxOYW1lZFByb3BlcnR5SW5Qcm90b3R5cGVDaGFpbihuYW1lKS5Jc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogICAgIHJldHVybiBzdG9yYWdlR2V0
dGVyKG5hbWUsIGluZm8pOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTQzODApCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0w
NC0xNyAgQmVuIE11cmRvY2ggIDxiZW5tQGdvb2dsZS5jb20+CisKKyAgICAgICAgYGxvY2FsU3Rv
cmFnZS5zZXRJdGVtYCBjYW4gb3ZlcndyaXRlIGBsb2NhbFN0b3JhZ2VgIG1ldGhvZHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTk2CisKKyAgICAg
ICAgQWRkIGEgdGVzdCB0byB2ZXJpZnkgdGhhdCBzZXR0aW5nIGEgRE9NIFN0b3JhZ2Uga2V5IHdp
dGggdGhlIHNhbWUgbmFtZQorICAgICAgICBhcyBhIGZ1bmN0aW9uIG9uIHRoZSBTdG9yYWdlIG9i
amVjdCBkb2VzIG5vdCBwcmV2ZW50IHRoYXQgZnVuY3Rpb24KKyAgICAgICAgYmVpbmcgY2FsbGVk
LCBidXQgYWxzbyB0aGF0IGl0IGNhbiBzdGlsbCBiZSByZXRyaWV2ZWQgdmlhIHRoZSBnZXRJdGVt
CisgICAgICAgIGZ1bmN0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogc3RvcmFnZS9kb21zdG9yYWdlL3NjcmlwdC10ZXN0cy9zdG9yYWdlLWZ1
bmN0aW9ucy1ub3Qtb3ZlcndyaXR0ZW4uanM6IEFkZGVkLgorICAgICAgICAoZG9XZWRnZVRoeVNl
bGYpOgorICAgICAgICAodGVzdFN0b3JhZ2UpOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAg
ICogc3RvcmFnZS9kb21zdG9yYWdlL3N0b3JhZ2UtZnVuY3Rpb25zLW5vdC1vdmVyd3JpdHRlbi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvZG9tc3RvcmFnZS9zdG9yYWdl
LWZ1bmN0aW9ucy1ub3Qtb3ZlcndyaXR0ZW4uaHRtbDogQWRkZWQuCisKIDIwMTItMDQtMTcgIFN0
ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21p
dW1dIFJlYmFzZWxpbmUgc3ZnL2NhcnRvLm5ldC9jb2xvdXJwaWNrZXIuc3ZnCkluZGV4OiBMYXlv
dXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2Uvc3RvcmFnZS1mdW5jdGlvbnMtbm90LW92ZXJ3cml0
dGVuLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0
b3JhZ2Uvc3RvcmFnZS1mdW5jdGlvbnMtbm90LW92ZXJ3cml0dGVuLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N0b3JhZ2UvZG9tc3RvcmFnZS9zdG9yYWdlLWZ1bmN0
aW9ucy1ub3Qtb3ZlcndyaXR0ZW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIxIEBACitUaGlzIHRlc3QgY2hlY2tzIHRvIGVuc3VyZSB0aGF0IHdpbmRvdy5sb2NhbFN0b3Jh
Z2UgYW5kIHdpbmRvdy5zZXNzaW9uU3RvcmFnZSBhcmUgbm90IHJlbmRlcmVkIHVudXNhYmxlIGJ5
IHNldHRpbmcgYSBrZXkgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGEgc3RvcmFnZSBmdW5jdGlvbiBz
dWNoIHRoYXQgdGhlIGZ1bmN0aW9uIGlzIGhpZGRlbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1Mgc3RvcmFnZS5nZXRJdGVtKCdjbGVhcicpIGlzICJhbG1vc3QiCitQQVNT
IHN0b3JhZ2UuZ2V0SXRlbSgna2V5JykgaXMgInRvbyIKK1BBU1Mgc3RvcmFnZS5nZXRJdGVtKCdn
ZXRJdGVtJykgaXMgImZ1bm55IgorUEFTUyBzdG9yYWdlLmdldEl0ZW0oJ3JlbW92ZUl0ZW0nKSBp
cyAidG8iCitQQVNTIHN0b3JhZ2UuZ2V0SXRlbSgnbGVuZ3RoJykgaXMgImJlIgorUEFTUyBzdG9y
YWdlLmdldEl0ZW0oJ3NldEl0ZW0nKSBpcyAidHJ1ZSIKK1BBU1Mgc3RvcmFnZS5nZXRJdGVtKCdj
bGVhcicpIGlzICJhbG1vc3QiCitQQVNTIHN0b3JhZ2UuZ2V0SXRlbSgna2V5JykgaXMgInRvbyIK
K1BBU1Mgc3RvcmFnZS5nZXRJdGVtKCdnZXRJdGVtJykgaXMgImZ1bm55IgorUEFTUyBzdG9yYWdl
LmdldEl0ZW0oJ3JlbW92ZUl0ZW0nKSBpcyAidG8iCitQQVNTIHN0b3JhZ2UuZ2V0SXRlbSgnbGVu
Z3RoJykgaXMgImJlIgorUEFTUyBzdG9yYWdlLmdldEl0ZW0oJ3NldEl0ZW0nKSBpcyAidHJ1ZSIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4
OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2RvbXN0b3JhZ2Uvc3RvcmFnZS1mdW5jdGlvbnMtbm90LW92
ZXJ3cml0dGVuLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9y
YWdlL3N0b3JhZ2UtZnVuY3Rpb25zLW5vdC1vdmVyd3JpdHRlbi5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL3N0b3JhZ2UtZnVuY3Rpb25zLW5vdC1v
dmVyd3JpdHRlbi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc3RvcmFn
ZS1mdW5jdGlvbnMtbm90LW92ZXJ3cml0dGVuLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL3NjcmlwdC10
ZXN0cy9zdG9yYWdlLWZ1bmN0aW9ucy1ub3Qtb3ZlcndyaXR0ZW4uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3RvcmFnZS9kb21zdG9yYWdlL3NjcmlwdC10ZXN0cy9zdG9yYWdlLWZ1bmN0
aW9ucy1ub3Qtb3ZlcndyaXR0ZW4uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdG9y
YWdlL2RvbXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL3N0b3JhZ2UtZnVuY3Rpb25zLW5vdC1vdmVyd3Jp
dHRlbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorZGVzY3JpcHRpb24oIlRoaXMg
dGVzdCBjaGVja3MgdG8gZW5zdXJlIHRoYXQgd2luZG93LmxvY2FsU3RvcmFnZSBhbmQgd2luZG93
LnNlc3Npb25TdG9yYWdlIGFyZSBub3QgcmVuZGVyZWQgdW51c2FibGUgYnkgc2V0dGluZyBhIGtl
eSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgYSBzdG9yYWdlIGZ1bmN0aW9uIHN1Y2ggdGhhdCB0aGUg
ZnVuY3Rpb24gaXMgaGlkZGVuLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gZG9X
ZWRnZVRoeVNlbGYoc3RvcmFnZSkgeworICAgIHN0b3JhZ2Uuc2V0SXRlbSgiY2xlYXIiLCAiYWxt
b3N0Iik7CisgICAgc3RvcmFnZS5zZXRJdGVtKCJrZXkiLCAidG9vIik7CisgICAgc3RvcmFnZS5z
ZXRJdGVtKCJnZXRJdGVtIiwgImZ1bm55Iik7CisgICAgc3RvcmFnZS5zZXRJdGVtKCJyZW1vdmVJ
dGVtIiwgInRvIik7CisgICAgc3RvcmFnZS5zZXRJdGVtKCJsZW5ndGgiLCAiYmUiKTsKKyAgICBz
dG9yYWdlLnNldEl0ZW0oInNldEl0ZW0iLCAidHJ1ZSIpOworfQorCitmdW5jdGlvbiB0ZXN0U3Rv
cmFnZShzdG9yYWdlU3RyaW5nKSB7CisgICAgc3RvcmFnZSA9IGV2YWwoc3RvcmFnZVN0cmluZyk7
CisgICAgc3RvcmFnZS5jbGVhcigpOworICAgIGRvV2VkZ2VUaHlTZWxmKHN0b3JhZ2UpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygic3RvcmFnZS5nZXRJdGVtKCdjbGVhcicpIiwgImFsbW9z
dCIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3RvcmFnZS5nZXRJdGVtKCdrZXknKSIs
ICJ0b28iKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN0b3JhZ2UuZ2V0SXRlbSgnZ2V0
SXRlbScpIiwgImZ1bm55Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdG9yYWdlLmdl
dEl0ZW0oJ3JlbW92ZUl0ZW0nKSIsICJ0byIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
c3RvcmFnZS5nZXRJdGVtKCdsZW5ndGgnKSIsICJiZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygic3RvcmFnZS5nZXRJdGVtKCdzZXRJdGVtJykiLCAidHJ1ZSIpOworICAgICAgICAKKyAg
ICAvLyBUZXN0IHRvIHNlZSBpZiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGZvciBhbnkgb2YgdGhl
IGJ1aWx0IGluCisgICAgLy8gZnVuY3Rpb25zLgorICAgIHN0b3JhZ2Uuc2V0SXRlbSgidGVzdCIs
ICIxMjMiKTsKKyAgICBzdG9yYWdlLmtleSgwKTsKKyAgICBzdG9yYWdlLmdldEl0ZW0oInRlc3Qi
KTsKKyAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oInRlc3QiKTsKKyAgICBzdG9yYWdlLmNsZWFyKCk7
CisgICAgaWYgKHN0b3JhZ2UubGVuZ3RoICE9IDApCisgICAgICAgIHRocm93IG5hbWUgKyAiOiBs
ZW5ndGggd2VkZ2VkIjsKK30KKworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB0ZXN0U3Rv
cmFnZSh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpOworICAgIHRlc3RTdG9yYWdlKHdpbmRvdy5sb2Nh
bFN0b3JhZ2UpOworfQorCit0cnkgeworICAgIHJ1blRlc3QoKTsKK30gY2F0Y2ggKGUpIHsKKyAg
ICB0ZXN0RmFpbGVkKCJDYXVnaHQgYW4gZXhjZXB0aW9uISIpOworfQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>