<?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>52769</bug_id>
          
          <creation_ts>2011-01-19 17:02:33 -0800</creation_ts>
          <short_desc>Crash in DOMWindow::setLocation() due to null m_frame</short_desc>
          <delta_ts>2011-01-20 16:37:01 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jschuh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>336952</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-01-19 17:02:33 -0800</bug_when>
    <thetext>Original report at http://code.google.com/p/chromium/issues/detail?id=68077

Opening a new window, setting a timeout to close it, and setting a later timeout to set window.location will cause chromium to crash.  DOMWindow::setLocation() null checks the Frames for the activeWindow and firstWindow parameters it receives, but it uses its own m_frame without null-checking it.

For reasons that aren&apos;t clear to me, JSC never calls JSDOMWindow::setLocation() in this example, so this crash doesn&apos;t show up in Safari.  I think a fix for this still goes in DOMWindow, however, because if DOMWindow is going to use its own m_frame and it isn&apos;t guaranteed to be non-null, we should probably be checking it.  If others disagree, we can kick this fix into the v8 bindings instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336956</commentid>
    <comment_count>1</comment_count>
      <attachid>79525</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-01-19 17:11:21 -0800</bug_when>
    <thetext>Created attachment 79525
patch + test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336980</commentid>
    <comment_count>2</comment_count>
      <attachid>79525</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-19 17:35:49 -0800</bug_when>
    <thetext>Comment on attachment 79525
patch + test

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

I don&apos;t love the test.  Too many timeouts.  This test takes 1 whole second to run!  There&apos;s got to be a better way.  For example, you can have the newly opened window postMessage back to the original page to know that it&apos;s time to close it.

&gt; LayoutTests/fast/dom/Window/Location/set-location-after-close.html:14
&gt; +setTimeout(&apos;w.location = \&apos;\&apos;; if (window.layoutTestController) layoutTestController.notifyDone()&apos;, 1000);

\&apos;\&apos; -&gt; &quot;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337124</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-19 21:58:18 -0800</bug_when>
    <thetext>This test passes in Firefox, right? And how does window.location come back - is the setter really ignored?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337401</commentid>
    <comment_count>4</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-01-20 09:42:50 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 79525 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=79525&amp;action=review
&gt; 
&gt; I don&apos;t love the test.  Too many timeouts.  This test takes 1 whole second to run!  There&apos;s got to be a better way.  For example, you can have the newly opened window postMessage back to the original page to know that it&apos;s time to close it.
&gt; 
&gt; &gt; LayoutTests/fast/dom/Window/Location/set-location-after-close.html:14
&gt; &gt; +setTimeout(&apos;w.location = \&apos;\&apos;; if (window.layoutTestController) layoutTestController.notifyDone()&apos;, 1000);
&gt; 
&gt; \&apos;\&apos; -&gt; &quot;&quot;

Yeah, I just modified the reduction provided in the Chromium bug to make it a layout test.  I&apos;ll see if this can be reproed more sanely.



(In reply to comment #3)
&gt; This test passes in Firefox, right? And how does window.location come back - is the setter really ignored?

I&apos;ll double-check other browsers on whatever test I end up with.

As for the setter being ignored, I set a breakpoint in JSDOMWindow::setLocation() and never saw it break there, so it really does seem that at least the custom binding isn&apos;t getting called.  I don&apos;t know enough about the guts of JSC to understand how this could happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337511</commentid>
    <comment_count>5</comment_count>
      <attachid>79634</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-01-20 12:33:07 -0800</bug_when>
    <thetext>Created attachment 79634
Test using postMessage instead of setTimeout

Thanks for the postMessage suggestion, Adam. :)

This test behaves the same way as the old test on existing Chromium builds, and works correctly in FF as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337522</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-20 12:43:38 -0800</bug_when>
    <thetext>Did you check what Firefox returns as window.location value after setting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337535</commentid>
    <comment_count>7</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-01-20 13:01:21 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Did you check what Firefox returns as window.location value after setting?

It appears FF throws an error trying to set window.location.  window.location is inaccessible (for getting or setting) as soon as the window.close() call returns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337600</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-20 14:19:11 -0800</bug_when>
    <thetext>Between the different behavior in Firefox and unexplained behavior in Safari, it&apos;s not entirely clear why the patch implements the right thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337659</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-20 15:39:00 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Between the different behavior in Firefox and unexplained behavior in Safari, it&apos;s not entirely clear why the patch implements the right thing.

Generally speaking, the behavior for Frame-less objects is very inconsistent between browsers.  This patch follows our usual approach.  At some point in the future, we might want to make an effort to converge browser behavior in this area.  We tried discussing this issue a year or so ago, and folks had particular reasons for liking their individual approaches and not overly much incentive to align.  In any case, that&apos;s a topic for another day.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337660</commentid>
    <comment_count>10</comment_count>
      <attachid>79634</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-20 15:40:01 -0800</bug_when>
    <thetext>Comment on attachment 79634
Test using postMessage instead of setTimeout

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

&gt; LayoutTests/fast/dom/Window/Location/resources/set-location-after-close-new-window.html:2
&gt; +&lt;body onunload=&quot;opener.postMessage(&apos;closed&apos;, &apos;*&apos;);&quot;&gt;

I wonder if this is racy.  It&apos;s probably ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337665</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-20 15:43:55 -0800</bug_when>
    <thetext>&gt; We tried discussing this issue a year or so ago, 

Do you at least have a link to that discussion? This bug is not in a very good form now, I&apos;m not sure why you had to hurry with r+/cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337677</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-20 15:55:32 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; We tried discussing this issue a year or so ago, 
&gt; 
&gt; Do you at least have a link to that discussion?

It was either in the TC39 working group or the HTML working group.  I don&apos;t recall off-hand.  Maciej didn&apos;t want to implement what IE is doing because he was worried about adding a branch to every JS function call.  Someone else didn&apos;t want to implement what we do because it lets you execute JavaScript in a strange Frame-less state that they were worried would lead to security bugs.

&gt; This bug is not in a very good form now, I&apos;m not sure why you had to hurry with r+/cq+.

This patch is adding a null check like hundreds of other null checks we have in the code.  Certainly not crashing is better behavior than crashing.  We can file a follow-up bug about harmonizing our Frame-less execution behavior with other browsers if you like, but that&apos;s going to take a lot longer than we want to wait before fixing this crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337684</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-20 16:05:11 -0800</bug_when>
    <thetext>What I&apos;m worried about is that we didn&apos;t capture information about what happens in IE, or even in Safari in this bug. The description says:

&gt; For reasons that aren&apos;t clear to me, JSC never calls JSDOMWindow::setLocation() in this example

Maybe there is protection against this that&apos;s just simply broken in v8? It&apos;s not clear that the fix should be so local.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337686</commentid>
    <comment_count>14</comment_count>
      <attachid>79634</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-20 16:05:43 -0800</bug_when>
    <thetext>Comment on attachment 79634
Test using postMessage instead of setTimeout

Clearing flags on attachment: 79634

Committed r76303: &lt;http://trac.webkit.org/changeset/76303&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337687</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-20 16:05:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337703</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-20 16:37:01 -0800</bug_when>
    <thetext>&gt; Maybe there is protection against this that&apos;s just simply broken in v8? It&apos;s not clear that the fix should be so local.

Generally speaking, every method on DOMWindow that can be called by JavaScript needs to be prepared to be called with a null frame.  We commonly forget because the case doesn&apos;t occur very often, but that&apos;s one of the things I was trying to convey in this diagram:

http://webkit.org/coding/major-objects.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79525</attachid>
            <date>2011-01-19 17:11:21 -0800</date>
            <delta_ts>2011-01-20 12:33:07 -0800</delta_ts>
            <desc>patch + test</desc>
            <filename>dw.txt</filename>
            <type>text/plain</type>
            <size>3313</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9zZXQtbG9jYXRpb24t
YWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9Mb2NhdGlvbi9zZXQtbG9jYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L0xvY2F0aW9uL3Nl
dC1sb2NhdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEgQEAKK1RoaXMgdGVzdHMgb3BlbnMgYSBuZXcgd2luZG93LCBzZXRzIGEgdGltZW91dCB0byBj
bG9zZSBpdCwgdGhlbiBzZXRzIGEgdGltZW91dCB0byBuYXZpZ2F0ZSBpdCB2aWEgd2luZG93Lmxv
Y2F0aW9uLiBXZSBwYXNzIGlmIHdlIGRvbid0IGNyYXNoIHdoZW4gc2V0dGluZyB0aGUgbG9jYXRp
b24gb2YgdGhlIGFscmVhZHkgY2xvc2VkIHdpbmRvdy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9Mb2NhdGlvbi9zZXQtbG9jYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvTG9jYXRpb24vc2V0LWxvY2F0aW9u
LWFmdGVyLWNsb3NlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvTG9jYXRpb24vc2V0LWxvY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTcgQEAKKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3RzIG9wZW5zIGEgbmV3
IHdpbmRvdywgc2V0cyBhIHRpbWVvdXQgdG8gY2xvc2UgaXQsIHRoZW4gc2V0cyBhIHRpbWVvdXQg
dG8gbmF2aWdhdGUgaXQgdmlhIHdpbmRvdy5sb2NhdGlvbi4KK1dlIHBhc3MgaWYgd2UgZG9uJ3Qg
Y3Jhc2ggd2hlbiBzZXR0aW5nIHRoZSBsb2NhdGlvbiBvZiB0aGUgYWxyZWFkeSBjbG9zZWQgd2lu
ZG93LgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldENhbk9wZW5XaW5kb3dzKCk7CisgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Cit9CisKK3cgPSBvcGVuKCdodHRwOi8vJyk7CitzZXRUaW1lb3V0KCd3LmNsb3NlKCkn
LCA1MDApOworc2V0VGltZW91dCgndy5sb2NhdGlvbiA9IFwnXCc7IGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKScsIDEwMDAp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NjE4MikK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBA
CisyMDExLTAxLTE5ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCBmb3IgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzY5LgorCisgICAgICAgICogZmFz
dC9kb20vV2luZG93L0xvY2F0aW9uL3NldC1sb2NhdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9zZXQtbG9jYXRp
b24tYWZ0ZXItY2xvc2UuaHRtbDogQWRkZWQuCisKIDIwMTEtMDEtMTkgIE9saXZlciBIdW50ICA8
b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3Vn
aC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2MTgyKQorKysgU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDEtMTkgIE5hdGUg
Q2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBOdWxsLWNoZWNrIG1fZnJhbWUgaW4gRE9NV2luZG93Ojpz
ZXRMb2NhdGlvbigpLCBzaW5jZSBpdCdzCisgICAgICAgIHBvc3NpYmxlIHRvIHJlYWNoIHRoaXMg
cG9pbnQgd2l0aG91dCBpdCBoYXZpbmcgYmVlbiBjaGVja2VkCisgICAgICAgIGFscmVhZHkuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mjc2OQorCisg
ICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9zZXQtbG9jYXRpb24tYWZ0ZXIt
Y2xvc2UuaHRtbAorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93OjpzZXRMb2NhdGlvbik6CisKIDIwMTEtMDEtMTIgIE1hcnRpbiBSb2Jp
bnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rh
dm8gTm9yb25oYSBTaWx2YS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHJldmlz
aW9uIDc2MTM3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTk4LDYgKzE1OTgsOSBAQAogCiB2b2lkIERPTVdpbmRvdzo6c2V0TG9jYXRp
b24oY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIERPTVdpbmRvdyogYWN0aXZlV2luZG93LCBET01X
aW5kb3cqIGZpcnN0V2luZG93LCBTZXRMb2NhdGlvbkxvY2tpbmcgbG9ja2luZykKIHsKKyAgICBp
ZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybjsKKwogICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9
IGFjdGl2ZVdpbmRvdy0+ZnJhbWUoKTsKICAgICBpZiAoIWFjdGl2ZUZyYW1lKQogICAgICAgICBy
ZXR1cm47Cg==
</data>
<flag name="review"
          id="70936"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79634</attachid>
            <date>2011-01-20 12:33:07 -0800</date>
            <delta_ts>2011-01-20 16:05:43 -0800</delta_ts>
            <desc>Test using postMessage instead of setTimeout</desc>
            <filename>dw2.txt</filename>
            <type>text/plain</type>
            <size>4255</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9zZXQtbG9jYXRpb24t
YWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9Mb2NhdGlvbi9zZXQtbG9jYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L0xvY2F0aW9uL3Nl
dC1sb2NhdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMiBAQAorbWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK1RoaXMgdGVz
dHMgb3BlbnMgYSBuZXcgd2luZG93LCBzZXRzIGEgdGltZW91dCB0byBjbG9zZSBpdCwgdGhlbiBz
ZXRzIGEgdGltZW91dCB0byBuYXZpZ2F0ZSBpdCB2aWEgd2luZG93LmxvY2F0aW9uLiBXZSBwYXNz
IGlmIHdlIGRvbid0IGNyYXNoIHdoZW4gc2V0dGluZyB0aGUgbG9jYXRpb24gb2YgdGhlIGFscmVh
ZHkgY2xvc2VkIHdpbmRvdy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2Nh
dGlvbi9zZXQtbG9jYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvTG9jYXRpb24vc2V0LWxvY2F0aW9uLWFmdGVyLWNsb3NlLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvTG9jYXRpb24v
c2V0LWxvY2F0aW9uLWFmdGVyLWNsb3NlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjcg
QEAKKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3RzIG9wZW5zIGEgbmV3IHdpbmRvdywgc2V0cyBh
IHRpbWVvdXQgdG8gY2xvc2UgaXQsIHRoZW4gc2V0cyBhIHRpbWVvdXQgdG8gbmF2aWdhdGUgaXQg
dmlhIHdpbmRvdy5sb2NhdGlvbi4KK1dlIHBhc3MgaWYgd2UgZG9uJ3QgY3Jhc2ggd2hlbiBzZXR0
aW5nIHRoZSBsb2NhdGlvbiBvZiB0aGUgYWxyZWFkeSBjbG9zZWQgd2luZG93LgorPHNjcmlwdD4K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9CisK
K3ZhciB3ID0gd2luZG93Lm9wZW4oJ3Jlc291cmNlcy9zZXQtbG9jYXRpb24tYWZ0ZXItY2xvc2Ut
bmV3LXdpbmRvdy5odG1sJyk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwg
cHJvY2Vzc01lc3NhZ2UsIGZhbHNlKTsKKworZnVuY3Rpb24gcHJvY2Vzc01lc3NhZ2UoZXZlbnQp
IHsKKyAgICBpZiAoZXZlbnQuZGF0YSA9PSAib3BlbmVkIikKKyAgICAgICAgdy5jbG9zZSgpOwor
ICAgIGVsc2UgaWYgKGV2ZW50LmRhdGEgPT0gImNsb3NlZCIpIHsKKyAgICAgICAgdy5sb2NhdGlv
biA9ICcnOworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30KKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L0xvY2F0aW9uL3Jlc291cmNlcy9zZXQtbG9jYXRpb24tYWZ0ZXItY2xvc2UtbmV3LXdpbmRvdy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9y
ZXNvdXJjZXMvc2V0LWxvY2F0aW9uLWFmdGVyLWNsb3NlLW5ldy13aW5kb3cuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9Mb2NhdGlvbi9yZXNvdXJjZXMv
c2V0LWxvY2F0aW9uLWFmdGVyLWNsb3NlLW5ldy13aW5kb3cuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw3IEBACis8aHRtbD4KKzxib2R5IG9udW5sb2FkPSJvcGVuZXIucG9zdE1lc3NhZ2Uo
J2Nsb3NlZCcsICcqJyk7Ij4KKzxzY3JpcHQ+CitvcGVuZXIucG9zdE1lc3NhZ2UoIm9wZW5lZCIs
ICIqIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2
MjY4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTEtMDEtMjAgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGZvciBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI3NjkuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9XaW5kb3cvTG9jYXRpb24vcmVzb3VyY2VzL3NldC1sb2NhdGlvbi1hZnRlci1j
bG9zZS1uZXctd2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9M
b2NhdGlvbi9zZXQtbG9jYXRpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvTG9jYXRpb24vc2V0LWxvY2F0aW9uLWFmdGVyLWNsb3Nl
Lmh0bWw6IEFkZGVkLgorCiAyMDExLTAxLTIwICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRA
aWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZW1vdmUgR1RLIHJlc3VsdCBmb3Ig
d2luZG93LW9uZXJyb3IyIGFzIGl0J3MgdGhlIHNhbWUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDc2MTgyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTEtMDEtMTkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOdWxs
LWNoZWNrIG1fZnJhbWUgaW4gRE9NV2luZG93OjpzZXRMb2NhdGlvbigpLCBzaW5jZSBpdCdzCisg
ICAgICAgIHBvc3NpYmxlIHRvIHJlYWNoIHRoaXMgcG9pbnQgd2l0aG91dCBpdCBoYXZpbmcgYmVl
biBjaGVja2VkCisgICAgICAgIGFscmVhZHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01Mjc2OQorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRv
dy9Mb2NhdGlvbi9zZXQtbG9jYXRpb24tYWZ0ZXItY2xvc2UuaHRtbAorCisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRMb2NhdGlv
bik6CisKIDIwMTEtMDEtMTIgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHJldmlzaW9uIDc2MTM3KQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTk4LDYgKzE1OTgsOSBA
QAogCiB2b2lkIERPTVdpbmRvdzo6c2V0TG9jYXRpb24oY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcs
IERPTVdpbmRvdyogYWN0aXZlV2luZG93LCBET01XaW5kb3cqIGZpcnN0V2luZG93LCBTZXRMb2Nh
dGlvbkxvY2tpbmcgbG9ja2luZykKIHsKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVy
bjsKKwogICAgIEZyYW1lKiBhY3RpdmVGcmFtZSA9IGFjdGl2ZVdpbmRvdy0+ZnJhbWUoKTsKICAg
ICBpZiAoIWFjdGl2ZUZyYW1lKQogICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>