<?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>63023</bug_id>
          
          <creation_ts>2011-06-20 15:58:59 -0700</creation_ts>
          <short_desc>[chromium] Searching may cause a segmentation fault in WebPluginDocument</short_desc>
          <delta_ts>2013-04-11 14:40:15 -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>WONTFIX</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>0</everconfirmed>
          <reporter name="Andrew Russell">deadhead</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>schenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>424025</commentid>
    <comment_count>0</comment_count>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-06-20 15:58:59 -0700</bug_when>
    <thetext>Searching may cause a segmentation fault in WebPluginDocument</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424030</commentid>
    <comment_count>1</comment_count>
      <attachid>97878</attachid>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-06-20 16:03:37 -0700</bug_when>
    <thetext>Created attachment 97878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424037</commentid>
    <comment_count>2</comment_count>
      <attachid>97882</attachid>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-06-20 16:06:16 -0700</bug_when>
    <thetext>Created attachment 97882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424038</commentid>
    <comment_count>3</comment_count>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-06-20 16:09:14 -0700</bug_when>
    <thetext>This happens when the embed object is removed from the DOM.  The WebPluginDocument will then segmentation fault since |container| is null.  Since extensions are able to modify the DOM of a WebPluginPage, this could happen to a user without them knowing what has just occurred.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424783</commentid>
    <comment_count>4</comment_count>
      <attachid>97882</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-21 15:18:14 -0700</bug_when>
    <thetext>Comment on attachment 97882
Patch

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

The fix seems right, but why no test?

&gt; Source/WebKit/chromium/ChangeLog:5
&gt; +        Searching may cause a segmentation fault in WebPluginDocument

This is way too sparse and cryptic to be useful. Can you perhaps enrich this a bit with explanation of how this happens and why this is the right fix? The commit archeologists thank you in advance :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424816</commentid>
    <comment_count>5</comment_count>
      <attachid>98070</attachid>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-06-21 15:48:00 -0700</bug_when>
    <thetext>Created attachment 98070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424850</commentid>
    <comment_count>6</comment_count>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-06-21 16:21:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 97882 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97882&amp;action=review
&gt; 
&gt; The fix seems right, but why no test?
&gt; 

Since this is caused by searching from the browser, this code requires Chromium to call the function which causes the segmentation fault. I do not believe that there is a way to duplicate this functionality with just HTML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428886</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-28 08:10:31 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 97882 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97882&amp;action=review
&gt; &gt; 
&gt; &gt; The fix seems right, but why no test?
&gt; &gt; 
&gt; 
&gt; Since this is caused by searching from the browser, this code requires Chromium to call the function which causes the segmentation fault. I do not believe that there is a way to duplicate this functionality with just HTML.

Could you possibly use layoutTestController.findString?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429038</commentid>
    <comment_count>8</comment_count>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-06-28 11:36:37 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; (From update of attachment 97882 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97882&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; The fix seems right, but why no test?
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; Since this is caused by searching from the browser, this code requires Chromium to call the function which causes the segmentation fault. I do not believe that there is a way to duplicate this functionality with just HTML.
&gt; 
&gt; Could you possibly use layoutTestController.findString?

layoutTestController.findString is undefined in the chromium environment, and since this bug is in chromium code, I do not see the point in using it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429041</commentid>
    <comment_count>9</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-28 11:38:48 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; &gt; (From update of attachment 97882 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97882&amp;action=review
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; The fix seems right, but why no test?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; Since this is caused by searching from the browser, this code requires Chromium to call the function which causes the segmentation fault. I do not believe that there is a way to duplicate this functionality with just HTML.
&gt; &gt; 
&gt; &gt; Could you possibly use layoutTestController.findString?
&gt; 
&gt; layoutTestController.findString is undefined in the chromium environment, and since this bug is in chromium code, I do not see the point in using it.

Ah! This sounds like an excellent patch then. Expose findString and write test for it using this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433724</commentid>
    <comment_count>10</comment_count>
      <attachid>100037</attachid>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-07-07 15:07:20 -0700</bug_when>
    <thetext>Created attachment 100037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433729</commentid>
    <comment_count>11</comment_count>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-07-07 15:10:11 -0700</bug_when>
    <thetext>I have uploaded a new patch that includes tests for this change.

I did not add the `findString` method to the layoutTestController since I would have needed to change a large amount of the chromium DumpRenderTree code to allow searching through plugins and did not think it was worth the effort.

Instead, I created a simpler method, `removePlugin`, that removes the plugin from the WebPluginDocument, and then makes sure that it has been removed.  The test will crash without this bug fix, and the test passes with this bug fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433760</commentid>
    <comment_count>12</comment_count>
      <attachid>100045</attachid>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-07-07 16:07:49 -0700</bug_when>
    <thetext>Created attachment 100045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433763</commentid>
    <comment_count>13</comment_count>
    <who name="Andrew Russell">deadhead</who>
    <bug_when>2011-07-07 16:10:09 -0700</bug_when>
    <thetext>Updated the patch so that it works with the trunk of WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465865</commentid>
    <comment_count>14</comment_count>
      <attachid>100045</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-12 15:45:02 -0700</bug_when>
    <thetext>Comment on attachment 100045
Patch

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

&gt; Tools/DumpRenderTree/chromium/LayoutTestController.cpp:754
&gt; +    // Search through all of the frames and check if any of them contain a WebPluginDocument.
&gt; +    bool pluginRemoved = false;
&gt; +    while (frame) {
&gt; +        if (frame-&gt;document().isPluginDocument() &amp;&amp; frame-&gt;document().to&lt;WebPluginDocument&gt;().plugin()) {
&gt; +            frame-&gt;executeScript(WebScriptSource(WebString::fromUTF8(&quot;document.body.innerHTML=&apos;&apos;;&quot;)));
&gt; +            if (!frame-&gt;document().to&lt;WebPluginDocument&gt;().plugin())
&gt; +                pluginRemoved = true;
&gt; +            break;
&gt; +        }
&gt; +        frame = frame-&gt;traverseNext(false);
&gt; +    }
&gt; +    result-&gt;set(pluginRemoved);

Although I&apos;m very glad you added a test (even adding a method on layout test controller!) I&apos;m not sure why this method is needed (can&apos;t we remove the plugin in some other way via JS?)  It also would make more sense to me if it took some sort of fram that it was supposed to remove the plugin from.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558507</commentid>
    <comment_count>15</comment_count>
      <attachid>100045</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-16 14:02:48 -0800</bug_when>
    <thetext>Comment on attachment 100045
Patch

I guess this patch is abandoned?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97878</attachid>
            <date>2011-06-20 16:03:37 -0700</date>
            <delta_ts>2011-06-20 16:06:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63023-20110620160336.patch</filename>
            <type>text/plain</type>
            <size>1219</size>
            <attacher name="Andrew Russell">deadhead</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4OTMwMCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDYtMjAgIEFuZHJldyBSdXNzZWxsICA8ZGVhZGhlYWRAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWFyY2hpbmcg
bWF5IGNhdXNlIGEgc2VnbWVudGF0aW9uIGZhdWx0IGluIFdlYlBsdWdpbkRvY3VtZW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzAyMworCisgICAg
ICAgICogc3JjL1dlYlBsdWdpbkRvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1
Z2luRG9jdW1lbnQ6OnBsdWdpbik6CisKIDIwMTEtMDYtMjAgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Eb2N1bWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luRG9jdW1lbnQuY3Bw
CShyZXZpc2lvbiA4OTI4NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdp
bkRvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOCBAQCBXZWJQbHVnaW4q
IFdlYlBsdWdpbkRvY3VtZW50OjpwbHVnaW4oKQogICAgICAgICByZXR1cm4gMDsKICAgICBQbHVn
aW5Eb2N1bWVudCogZG9jID0gdW53cmFwPFBsdWdpbkRvY3VtZW50PigpOwogICAgIFdlYlBsdWdp
bkNvbnRhaW5lckltcGwqIGNvbnRhaW5lciA9IHN0YXRpY19jYXN0PFdlYlBsdWdpbkNvbnRhaW5l
ckltcGwqPihzdGF0aWNfY2FzdDxQbHVnaW5Eb2N1bWVudCo+KGRvYyktPnBsdWdpbldpZGdldCgp
KTsKKyAgICBpZiAoIWNvbnRhaW5lcikKKyAgICAgIHJldHVybiAwOwogICAgIHJldHVybiBjb250
YWluZXItPnBsdWdpbigpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97882</attachid>
            <date>2011-06-20 16:06:16 -0700</date>
            <delta_ts>2011-06-21 15:47:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63023-20110620160610.patch</filename>
            <type>text/plain</type>
            <size>1221</size>
            <attacher name="Andrew Russell">deadhead</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4OTMwMCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDYtMjAgIEFuZHJldyBSdXNzZWxsICA8ZGVhZGhlYWRAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWFyY2hpbmcg
bWF5IGNhdXNlIGEgc2VnbWVudGF0aW9uIGZhdWx0IGluIFdlYlBsdWdpbkRvY3VtZW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzAyMworCisgICAg
ICAgICogc3JjL1dlYlBsdWdpbkRvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1
Z2luRG9jdW1lbnQ6OnBsdWdpbik6CisKIDIwMTEtMDYtMjAgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Eb2N1bWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luRG9jdW1lbnQuY3Bw
CShyZXZpc2lvbiA4OTI4NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdp
bkRvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOCBAQCBXZWJQbHVnaW4q
IFdlYlBsdWdpbkRvY3VtZW50OjpwbHVnaW4oKQogICAgICAgICByZXR1cm4gMDsKICAgICBQbHVn
aW5Eb2N1bWVudCogZG9jID0gdW53cmFwPFBsdWdpbkRvY3VtZW50PigpOwogICAgIFdlYlBsdWdp
bkNvbnRhaW5lckltcGwqIGNvbnRhaW5lciA9IHN0YXRpY19jYXN0PFdlYlBsdWdpbkNvbnRhaW5l
ckltcGwqPihzdGF0aWNfY2FzdDxQbHVnaW5Eb2N1bWVudCo+KGRvYyktPnBsdWdpbldpZGdldCgp
KTsKKyAgICBpZiAoIWNvbnRhaW5lcikKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGNv
bnRhaW5lci0+cGx1Z2luKCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98070</attachid>
            <date>2011-06-21 15:48:00 -0700</date>
            <delta_ts>2011-07-07 15:07:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63023-20110621154758.patch</filename>
            <type>text/plain</type>
            <size>1481</size>
            <attacher name="Andrew Russell">deadhead</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4OTMwMCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMjAgIEFuZHJldyBSdXNzZWxsICA8ZGVhZGhlYWRAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWFyY2hpbmcg
bWF5IGNhdXNlIGEgc2VnbWVudGF0aW9uIGZhdWx0IGluIFdlYlBsdWdpbkRvY3VtZW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzAyMworCisgICAg
ICAgIFNlYXJjaGluZyB3aWxsIGNhdXNlIGEgc2VnbWVudGF0aW9uIGZhdWx0IGluIFdlYlBsdWdp
bkRvY3VtZW50IGlmIHRoZQorICAgICAgICBjb250YWluZXIgaXMgTlVMTC4gVGhpcyBjYW4gYmUg
Y2F1c2VkIGJ5IGFuIGV4dGVuc2lvbiByZW1vdmluZyB0aGUKKyAgICAgICAgZW1iZWQgb2JqZWN0
IGZyb20gdGhlIERPTSBhbmQgcmVwbGFjaW5nIGl0IHdpdGggSFRNTCB3aGljaCB0aGUgdXNlciBj
YW4KKyAgICAgICAgdGhlbiBzZWFyY2guCisKKyAgICAgICAgKiBzcmMvV2ViUGx1Z2luRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Eb2N1bWVudDo6cGx1Z2luKToKKwog
MjAxMS0wNi0yMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlBsdWdpbkRvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQbHVnaW5Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDg5Mjg2KQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00OSw2ICs0OSw4IEBAIFdlYlBsdWdpbiogV2ViUGx1Z2luRG9jdW1lbnQ6OnBsdWdp
bigpCiAgICAgICAgIHJldHVybiAwOwogICAgIFBsdWdpbkRvY3VtZW50KiBkb2MgPSB1bndyYXA8
UGx1Z2luRG9jdW1lbnQ+KCk7CiAgICAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogY29udGFpbmVy
ID0gc3RhdGljX2Nhc3Q8V2ViUGx1Z2luQ29udGFpbmVySW1wbCo+KHN0YXRpY19jYXN0PFBsdWdp
bkRvY3VtZW50Kj4oZG9jKS0+cGx1Z2luV2lkZ2V0KCkpOworICAgIGlmICghY29udGFpbmVyKQor
ICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4gY29udGFpbmVyLT5wbHVnaW4oKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100037</attachid>
            <date>2011-07-07 15:07:20 -0700</date>
            <delta_ts>2011-07-07 16:07:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63023-20110707150719.patch</filename>
            <type>text/plain</type>
            <size>7637</size>
            <attacher name="Andrew Russell">deadhead</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5MDU4OSkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDctMDcgIEFuZHJldyBSdXNzZWxsICA8ZGVhZGhlYWRAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbQ2hyb21pdW1d
IFNlYXJjaGluZyBtYXkgY2F1c2UgYSBzZWdtZW50YXRpb24gZmF1bHQgaW4gV2ViUGx1Z2luRG9j
dW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYz
MDIzCisKKyAgICAgICAgU2VhcmNoaW5nIHdpbGwgY2F1c2UgYSBzZWdtZW50YXRpb24gZmF1bHQg
aW4gV2ViUGx1Z2luRG9jdW1lbnQgaWYgdGhlCisgICAgICAgIGNvbnRhaW5lciBpcyBOVUxMLiBU
aGlzIGNhbiBiZSBjYXVzZWQgYnkgYW4gZXh0ZW5zaW9uIHJlbW92aW5nIHRoZQorICAgICAgICBl
bWJlZCBvYmplY3QgZnJvbSB0aGUgRE9NIGFuZCByZXBsYWNpbmcgaXQgd2l0aCBIVE1MIHdoaWNo
IHRoZSB1c2VyIGNhbgorICAgICAgICB0aGVuIHNlYXJjaC4KKworICAgICAgICAqIHNyYy9XZWJQ
bHVnaW5Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkRvY3VtZW50Ojpw
bHVnaW4pOgorCiAyMDExLTA3LTA3ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBzdXBwb3J0IGZvciBjbGVhcmluZyBj
YWNoZSBhbmQgY29va2llcyBmcm9tIG5ldHdvcmsgcGFuZWwuCkluZGV4OiBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA4OTI4
NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkRvY3VtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOCBAQCBXZWJQbHVnaW4qIFdlYlBsdWdpbkRvY3Vt
ZW50OjpwbHVnaW4oKQogICAgICAgICByZXR1cm4gMDsKICAgICBQbHVnaW5Eb2N1bWVudCogZG9j
ID0gdW53cmFwPFBsdWdpbkRvY3VtZW50PigpOwogICAgIFdlYlBsdWdpbkNvbnRhaW5lckltcGwq
IGNvbnRhaW5lciA9IHN0YXRpY19jYXN0PFdlYlBsdWdpbkNvbnRhaW5lckltcGwqPihzdGF0aWNf
Y2FzdDxQbHVnaW5Eb2N1bWVudCo+KGRvYyktPnBsdWdpbldpZGdldCgpKTsKKyAgICBpZiAoIWNv
bnRhaW5lcikKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGNvbnRhaW5lci0+cGx1Z2lu
KCk7CiB9CiAKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDkwNTg5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDctMDcgIEFuZHJldyBSdXNzZWxsICA8ZGVhZGhlYWRA
Z29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbQ2hyb21pdW1dIFNlYXJjaGluZyBtYXkgY2F1c2UgYSBzZWdtZW50YXRpb24gZmF1bHQg
aW4gV2ViUGx1Z2luRG9jdW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYzMDIzCisKKyAgICAgICAgQWRkZWQgYSBtZXRob2QgdG8gdGhlIGNocm9t
aXVtIGxheW91dFRlc3RDb250cm9sbGVyIHRoYXQgcmVtb3ZlcyBhIHBsdWdpbgorICAgICAgICBm
cm9tIHRoZSBET00gb2YgYSBXZWJQbHVnaW5Eb2N1bWVudCwgYW5kIHRoZW4gbWFrZXMgc3VyZSB0
aGF0IHRoZSBwbHVnaW4KKyAgICAgICAgbm8gbG9uZ2VyIGV4aXN0cy4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6cmVtb3ZlUGx1Z2luKToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorCiAyMDExLTA3LTA3ICBBZGFt
IFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIENoZWNrb3V0IHVzZSBT
Q00ncyBFeGVjdXRpdmUgaW5zdGVhZCBvZiBjb25qdXJpbmcgdXAgaXRzIG93bgpJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcAkocmV2aXNpb24gODkyODYpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDgg
QEAKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25QcmVzZW50
ZXIuaCIKICNpbmNsdWRlICJXZWJQZXJtaXNzaW9ucy5oIgorI2luY2x1ZGUgIldlYlBsdWdpbi5o
IgorI2luY2x1ZGUgIldlYlBsdWdpbkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0U291
cmNlLmgiCiAjaW5jbHVkZSAiV2ViU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJXZWJTZXR0
aW5ncy5oIgpAQCAtMTM2LDYgKzEzOCw3IEBAIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRU
ZXN0Q29udHJvbGwKICAgICBiaW5kTWV0aG9kKCJxdWV1ZU5vbkxvYWRpbmdTY3JpcHQiLCAmTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnF1ZXVlTm9uTG9hZGluZ1NjcmlwdCk7CiAgICAgYmluZE1ldGhv
ZCgicXVldWVSZWxvYWQiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnF1ZXVlUmVsb2FkKTsKICAg
ICBiaW5kTWV0aG9kKCJyZW1vdmVPcmlnaW5BY2Nlc3NXaGl0ZWxpc3RFbnRyeSIsICZMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6cmVtb3ZlT3JpZ2luQWNjZXNzV2hpdGVsaXN0RW50cnkpOworICAgIGJp
bmRNZXRob2QoInJlbW92ZVBsdWdpbiIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVtb3ZlUGx1
Z2luKTsKICAgICBiaW5kTWV0aG9kKCJyZW1vdmVTaGFkb3dSb290IiwgJkxheW91dFRlc3RDb250
cm9sbGVyOjpyZW1vdmVTaGFkb3dSb290KTsKICAgICBiaW5kTWV0aG9kKCJyZXBhaW50U3dlZXBI
b3Jpem9udGFsbHkiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlcGFpbnRTd2VlcEhvcml6b250
YWxseSk7CiAgICAgYmluZE1ldGhvZCgicmVzZXRQYWdlVmlzaWJpbGl0eSIsICZMYXlvdXRUZXN0
Q29udHJvbGxlcjo6cmVzZXRQYWdlVmlzaWJpbGl0eSk7CkBAIC04MDQsNiArODA3LDI0IEBAIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV4ZWNDb21tYW5kKGMKICAgICBtX3NoZWxsLT53ZWJW
aWV3KCktPmZvY3VzZWRGcmFtZSgpLT5leGVjdXRlQ29tbWFuZChXZWJTdHJpbmc6OmZyb21VVEY4
KGNvbW1hbmQpLCBXZWJTdHJpbmc6OmZyb21VVEY4KHZhbHVlKSk7CiB9CiAKK3ZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnJlbW92ZVBsdWdpbihjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3Vt
ZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIFdlYkZyYW1lKiBmcmFtZSA9IG1fc2hl
bGwtPndlYlZpZXcoKS0+bWFpbkZyYW1lKCk7CisKKyAgICAvLyBTZWFyY2ggdGhyb3VnaCBhbGwg
b2YgdGhlIGZyYW1lcyBhbmQgY2hlY2sgaWYgYW55IG9mIHRoZW0gY29udGFpbiBhIFdlYlBsdWdp
bkRvY3VtZW50LgorICAgIGJvb2wgcGx1Z2luUmVtb3ZlZCA9IGZhbHNlOworICAgIHdoaWxlIChm
cmFtZSkgeworICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkuaXNQbHVnaW5Eb2N1bWVudCgp
ICYmIGZyYW1lLT5kb2N1bWVudCgpLnRvPFdlYlBsdWdpbkRvY3VtZW50PigpLnBsdWdpbigpKSB7
CisgICAgICAgICAgICBmcmFtZS0+ZXhlY3V0ZVNjcmlwdChXZWJTY3JpcHRTb3VyY2UoV2ViU3Ry
aW5nOjpmcm9tVVRGOCgiZG9jdW1lbnQuYm9keS5pbm5lckhUTUw9Jyc7IikpKTsKKyAgICAgICAg
ICAgIGlmICghZnJhbWUtPmRvY3VtZW50KCkudG88V2ViUGx1Z2luRG9jdW1lbnQ+KCkucGx1Z2lu
KCkpCisgICAgICAgICAgICAgICAgcGx1Z2luUmVtb3ZlZCA9IHRydWU7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgICAgICBmcmFtZSA9IGZyYW1lLT50cmF2ZXJzZU5leHQoZmFs
c2UpOworICAgIH0KKyAgICByZXN1bHQtPnNldChwbHVnaW5SZW1vdmVkKTsKK30KKwogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6aXNDb21tYW5kRW5hYmxlZChjb25zdCBDcHBBcmd1bWVudExp
c3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIGlmIChhcmd1bWVudHMu
c2l6ZSgpIDw9IDAgfHwgIWFyZ3VtZW50c1swXS5pc1N0cmluZygpKSB7CkluZGV4OiBUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgJ
KHJldmlzaW9uIDg5Mjg2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0
VGVzdENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjEzLDYgKzIxMyw5IEBAIHB1Ymxp
YzoKICAgICAvLyBFeGVjdXRlcyBhbiBpbnRlcm5hbCBjb21tYW5kIChzdXBlcnNldCBvZiBkb2N1
bWVudC5leGVjQ29tbWFuZCgpIGNvbW1hbmRzKS4KICAgICB2b2lkIGV4ZWNDb21tYW5kKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKIAorICAgIC8vIFJlbW92ZXMgYSBwbHVn
aW4gZnJvbSBhIFdlYlBsdWdpbkRvY3VtZW50LCB0aGVuIGNoZWNrcyB0byBlbnN1cmUgaXQgaGFz
IGJlZW4gcmVtb3ZlZC4KKyAgICB2b2lkIHJlbW92ZVBsdWdpbihjb25zdCBDcHBBcmd1bWVudExp
c3QmLCBDcHBWYXJpYW50Kik7CisKICAgICAvLyBDaGVja3MgaWYgYW4gaW50ZXJuYWwgY29tbWFu
ZCBpcyBjdXJyZW50bHkgYXZhaWxhYmxlLgogICAgIHZvaWQgaXNDb21tYW5kRW5hYmxlZChjb25z
dCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkw
NTg5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTEtMDctMDcgIEFuZHJldyBSdXNzZWxsICA8ZGVhZGhlYWRAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbQ2hyb21p
dW1dIFNlYXJjaGluZyBtYXkgY2F1c2UgYSBzZWdtZW50YXRpb24gZmF1bHQgaW4gV2ViUGx1Z2lu
RG9jdW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYzMDIzCisKKyAgICAgICAgQWRkZWQgdGVzdHMgdG8gbWFrZSBzdXJlIHRoYXQgV2ViS2l0IGRv
ZXMgbm90IGNyYXNoIGlmIGl0IHRyaWVzIAorICAgICAgICB0byBhY2Nlc3MgYSBwbHVnaW4gYWZ0
ZXIgaXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBET00uCisKKyAgICAgICAgKiBwbHVnaW5z
L3BsdWdpbi1kb2N1bWVudC1yZW1vdmUtcGx1Z2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGx1Z2lucy9wbHVnaW4tZG9jdW1lbnQtcmVtb3ZlLXBsdWdpbi5odG1sOiBBZGRlZC4K
KwogMjAxMS0wNy0wNyAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFJvYiBCdWlzLgpJbmRleDogTGF5b3V0VGVzdHMvcGx1Z2lucy9wbHVnaW4t
ZG9jdW1lbnQtcmVtb3ZlLXBsdWdpbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGx1Z2lucy9wbHVnaW4tZG9jdW1lbnQtcmVtb3ZlLXBsdWdpbi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbHVnaW5zL3BsdWdpbi1kb2N1bWVudC1yZW1v
dmUtcGx1Z2luLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0
ZXN0cyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMjMgYnkgcmVt
b3ZpbmcgdGhlIHBsdWdpbiBpbnNpZGUgdGhlIHBsdWdpbiBkb2N1bWVudC4gSWYgdGhlcmUgaXMg
bm8gY3Jhc2gsIHRoZSB0ZXN0IHBhc3NlZC4gIApJbmRleDogTGF5b3V0VGVzdHMvcGx1Z2lucy9w
bHVnaW4tZG9jdW1lbnQtcmVtb3ZlLXBsdWdpbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsdWdpbnMvcGx1Z2luLWRvY3VtZW50LXJlbW92ZS1wbHVnaW4uaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsdWdpbnMvcGx1Z2luLWRvY3VtZW50LXJlbW92ZS1wbHVnaW4u
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisKKyAgICB3
aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIgJiYgd2luZG93LmxheW91dFRleHRDb250cm9sbGVyLnJlbW92ZVBsdWdpbikg
eworICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLnJlbW92ZVBsdWdpbigp
OworICAgICAgICB9CisgICAgfTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAg
IFRoaXMgdGVzdHMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDIz
IGJ5IHJlbW92aW5nIHRoZSBwbHVnaW4KKyAgICBpbnNpZGUgdGhlIHBsdWdpbiBkb2N1bWVudC4g
SWYgdGhlcmUgaXMgbm8gY3Jhc2gsIHRoZSB0ZXN0IHBhc3NlZC4KKyAgICA8aWZyYW1lIHNyYz0i
cmVzb3VyY2VzL3NpbXBsZV9ibGFuay5zd2YiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100045</attachid>
            <date>2011-07-07 16:07:49 -0700</date>
            <delta_ts>2012-02-16 14:02:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63023-20110707160748.patch</filename>
            <type>text/plain</type>
            <size>7645</size>
            <attacher name="Andrew Russell">deadhead</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5MDU5NCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDctMDcgIEFuZHJldyBSdXNzZWxsICA8ZGVhZGhlYWRAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbQ2hyb21pdW1d
IFNlYXJjaGluZyBtYXkgY2F1c2UgYSBzZWdtZW50YXRpb24gZmF1bHQgaW4gV2ViUGx1Z2luRG9j
dW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYz
MDIzCisKKyAgICAgICAgU2VhcmNoaW5nIHdpbGwgY2F1c2UgYSBzZWdtZW50YXRpb24gZmF1bHQg
aW4gV2ViUGx1Z2luRG9jdW1lbnQgaWYgdGhlCisgICAgICAgIGNvbnRhaW5lciBpcyBOVUxMLiBU
aGlzIGNhbiBiZSBjYXVzZWQgYnkgYW4gZXh0ZW5zaW9uIHJlbW92aW5nIHRoZQorICAgICAgICBl
bWJlZCBvYmplY3QgZnJvbSB0aGUgRE9NIGFuZCByZXBsYWNpbmcgaXQgd2l0aCBIVE1MIHdoaWNo
IHRoZSB1c2VyIGNhbgorICAgICAgICB0aGVuIHNlYXJjaC4KKworICAgICAgICAqIHNyYy9XZWJQ
bHVnaW5Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkRvY3VtZW50Ojpw
bHVnaW4pOgorCiAyMDExLTA3LTA3ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBzdXBwb3J0IGZvciBjbGVhcmluZyBj
YWNoZSBhbmQgY29va2llcyBmcm9tIG5ldHdvcmsgcGFuZWwuCkluZGV4OiBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA5MDU5
NCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkRvY3VtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOCBAQCBXZWJQbHVnaW4qIFdlYlBsdWdpbkRvY3Vt
ZW50OjpwbHVnaW4oKQogICAgICAgICByZXR1cm4gMDsKICAgICBQbHVnaW5Eb2N1bWVudCogZG9j
ID0gdW53cmFwPFBsdWdpbkRvY3VtZW50PigpOwogICAgIFdlYlBsdWdpbkNvbnRhaW5lckltcGwq
IGNvbnRhaW5lciA9IHN0YXRpY19jYXN0PFdlYlBsdWdpbkNvbnRhaW5lckltcGwqPihzdGF0aWNf
Y2FzdDxQbHVnaW5Eb2N1bWVudCo+KGRvYyktPnBsdWdpbldpZGdldCgpKTsKKyAgICBpZiAoIWNv
bnRhaW5lcikKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGNvbnRhaW5lci0+cGx1Z2lu
KCk7CiB9CiAKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDkwNTk0KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDctMDcgIEFuZHJldyBSdXNzZWxsICA8ZGVhZGhlYWRA
Z29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbQ2hyb21pdW1dIFNlYXJjaGluZyBtYXkgY2F1c2UgYSBzZWdtZW50YXRpb24gZmF1bHQg
aW4gV2ViUGx1Z2luRG9jdW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYzMDIzCisKKyAgICAgICAgQWRkZWQgYSBtZXRob2QgdG8gdGhlIGNocm9t
aXVtIGxheW91dFRlc3RDb250cm9sbGVyIHRoYXQgcmVtb3ZlcyBhIHBsdWdpbgorICAgICAgICBm
cm9tIHRoZSBET00gb2YgYSBXZWJQbHVnaW5Eb2N1bWVudCwgYW5kIHRoZW4gbWFrZXMgc3VyZSB0
aGF0IHRoZSBwbHVnaW4KKyAgICAgICAgbm8gbG9uZ2VyIGV4aXN0cy4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6cmVtb3ZlUGx1Z2luKToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorCiAyMDExLTA3LTA3ICBBZGFt
IFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgVGVzdEZhaWx1cmVz
J3MgdGl0bGUgYW5kIGhlYWRlciBpbW1lZGlhdGVseSB1cG9uIG5hdmlnYXRpb24KSW5kZXg6IFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAJKHJldmlzaW9uIDkwNTk0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw4
IEBACiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uUHJlc2Vu
dGVyLmgiCiAjaW5jbHVkZSAiV2ViUGVybWlzc2lvbnMuaCIKKyNpbmNsdWRlICJXZWJQbHVnaW4u
aCIKKyNpbmNsdWRlICJXZWJQbHVnaW5Eb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYlNjcmlwdFNv
dXJjZS5oIgogI2luY2x1ZGUgIldlYlNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiV2ViU2V0
dGluZ3MuaCIKQEAgLTEzNSw2ICsxMzcsNyBAQCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0
VGVzdENvbnRyb2xsCiAgICAgYmluZE1ldGhvZCgicXVldWVOb25Mb2FkaW5nU2NyaXB0IiwgJkxh
eW91dFRlc3RDb250cm9sbGVyOjpxdWV1ZU5vbkxvYWRpbmdTY3JpcHQpOwogICAgIGJpbmRNZXRo
b2QoInF1ZXVlUmVsb2FkIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpxdWV1ZVJlbG9hZCk7CiAg
ICAgYmluZE1ldGhvZCgicmVtb3ZlT3JpZ2luQWNjZXNzV2hpdGVsaXN0RW50cnkiLCAmTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnJlbW92ZU9yaWdpbkFjY2Vzc1doaXRlbGlzdEVudHJ5KTsKKyAgICBi
aW5kTWV0aG9kKCJyZW1vdmVQbHVnaW4iLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlbW92ZVBs
dWdpbik7CiAgICAgYmluZE1ldGhvZCgicmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5IiwgJkxheW91
dFRlc3RDb250cm9sbGVyOjpyZXBhaW50U3dlZXBIb3Jpem9udGFsbHkpOwogICAgIGJpbmRNZXRo
b2QoInJlc2V0UGFnZVZpc2liaWxpdHkiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0UGFn
ZVZpc2liaWxpdHkpOwogICAgIGJpbmRNZXRob2QoInJlc3VtZUFuaW1hdGlvbnMiLCAmTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnJlc3VtZUFuaW1hdGlvbnMpOwpAQCAtNzMzLDYgKzczNiwyNCBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpleGVjQ29tbWFuZChjCiAgICAgbV9zaGVsbC0+d2Vi
VmlldygpLT5mb2N1c2VkRnJhbWUoKS0+ZXhlY3V0ZUNvbW1hbmQoV2ViU3RyaW5nOjpmcm9tVVRG
OChjb21tYW5kKSwgV2ViU3RyaW5nOjpmcm9tVVRGOCh2YWx1ZSkpOwogfQogCit2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpyZW1vdmVQbHVnaW4oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1
bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBXZWJGcmFtZSogZnJhbWUgPSBtX3No
ZWxsLT53ZWJWaWV3KCktPm1haW5GcmFtZSgpOworCisgICAgLy8gU2VhcmNoIHRocm91Z2ggYWxs
IG9mIHRoZSBmcmFtZXMgYW5kIGNoZWNrIGlmIGFueSBvZiB0aGVtIGNvbnRhaW4gYSBXZWJQbHVn
aW5Eb2N1bWVudC4KKyAgICBib29sIHBsdWdpblJlbW92ZWQgPSBmYWxzZTsKKyAgICB3aGlsZSAo
ZnJhbWUpIHsKKyAgICAgICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpLmlzUGx1Z2luRG9jdW1lbnQo
KSAmJiBmcmFtZS0+ZG9jdW1lbnQoKS50bzxXZWJQbHVnaW5Eb2N1bWVudD4oKS5wbHVnaW4oKSkg
eworICAgICAgICAgICAgZnJhbWUtPmV4ZWN1dGVTY3JpcHQoV2ViU2NyaXB0U291cmNlKFdlYlN0
cmluZzo6ZnJvbVVURjgoImRvY3VtZW50LmJvZHkuaW5uZXJIVE1MPScnOyIpKSk7CisgICAgICAg
ICAgICBpZiAoIWZyYW1lLT5kb2N1bWVudCgpLnRvPFdlYlBsdWdpbkRvY3VtZW50PigpLnBsdWdp
bigpKQorICAgICAgICAgICAgICAgIHBsdWdpblJlbW92ZWQgPSB0cnVlOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZnJhbWUgPSBmcmFtZS0+dHJhdmVyc2VOZXh0KGZh
bHNlKTsKKyAgICB9CisgICAgcmVzdWx0LT5zZXQocGx1Z2luUmVtb3ZlZCk7Cit9CisKIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OmlzQ29tbWFuZEVuYWJsZWQoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKICAgICBpZiAoYXJndW1lbnRz
LnNpemUoKSA8PSAwIHx8ICFhcmd1bWVudHNbMF0uaXNTdHJpbmcoKSkgewpJbmRleDogVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5o
CShyZXZpc2lvbiA5MDU5NCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsOSBAQCBwdWJs
aWM6CiAgICAgLy8gRXhlY3V0ZXMgYW4gaW50ZXJuYWwgY29tbWFuZCAoc3VwZXJzZXQgb2YgZG9j
dW1lbnQuZXhlY0NvbW1hbmQoKSBjb21tYW5kcykuCiAgICAgdm9pZCBleGVjQ29tbWFuZChjb25z
dCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAKKyAgICAvLyBSZW1vdmVzIGEgcGx1
Z2luIGZyb20gYSBXZWJQbHVnaW5Eb2N1bWVudCwgdGhlbiBjaGVja3MgdG8gZW5zdXJlIGl0IGhh
cyBiZWVuIHJlbW92ZWQuCisgICAgdm9pZCByZW1vdmVQbHVnaW4oY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiwgQ3BwVmFyaWFudCopOworCiAgICAgLy8gQ2hlY2tzIGlmIGFuIGludGVybmFsIGNvbW1h
bmQgaXMgY3VycmVudGx5IGF2YWlsYWJsZS4KICAgICB2b2lkIGlzQ29tbWFuZEVuYWJsZWQoY29u
c3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5
MDU5NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDExLTA3LTA3ICBBbmRyZXcgUnVzc2VsbCAgPGRlYWRoZWFkQGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9t
aXVtXSBTZWFyY2hpbmcgbWF5IGNhdXNlIGEgc2VnbWVudGF0aW9uIGZhdWx0IGluIFdlYlBsdWdp
bkRvY3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02MzAyMworCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIG1ha2Ugc3VyZSB0aGF0IFdlYktpdCBk
b2VzIG5vdCBjcmFzaCBpZiBpdCB0cmllcyAKKyAgICAgICAgdG8gYWNjZXNzIGEgcGx1Z2luIGFm
dGVyIGl0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgRE9NLgorCisgICAgICAgICogcGx1Z2lu
cy9wbHVnaW4tZG9jdW1lbnQtcmVtb3ZlLXBsdWdpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBsdWdpbnMvcGx1Z2luLWRvY3VtZW50LXJlbW92ZS1wbHVnaW4uaHRtbDogQWRkZWQu
CisKIDIwMTEtMDctMDcgIEplZmYgVGltYW51cyAgPHR3aXpAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFN0ZXBoZW4gV2hpdGUuCkluZGV4OiBMYXlvdXRUZXN0cy9wbHVnaW5z
L3BsdWdpbi1kb2N1bWVudC1yZW1vdmUtcGx1Z2luLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbHVnaW5zL3BsdWdpbi1kb2N1bWVudC1yZW1vdmUtcGx1Z2luLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsdWdpbnMvcGx1Z2luLWRvY3Vt
ZW50LXJlbW92ZS1wbHVnaW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBA
CitUaGlzIHRlc3RzIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAy
MyBieSByZW1vdmluZyB0aGUgcGx1Z2luIGluc2lkZSB0aGUgcGx1Z2luIGRvY3VtZW50LiBJZiB0
aGVyZSBpcyBubyBjcmFzaCwgdGhlIHRlc3QgcGFzc2VkLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9w
bHVnaW5zL3BsdWdpbi1kb2N1bWVudC1yZW1vdmUtcGx1Z2luLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGx1Z2lucy9wbHVnaW4tZG9jdW1lbnQtcmVtb3ZlLXBsdWdpbi5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGx1Z2lucy9wbHVnaW4tZG9jdW1lbnQtcmVtb3Zl
LXBsdWdpbi5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFk
PgorICAgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0K
KworICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIucmVtb3Zl
UGx1Z2luKSB7CisgICAgICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIucmVtb3Zl
UGx1Z2luKCk7CisgICAgICAgIH0KKyAgICB9OworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CisgICAgVGhpcyB0ZXN0cyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjIwMjMgYnkgcmVtb3ZpbmcgdGhlIHBsdWdpbgorICAgIGluc2lkZSB0aGUgcGx1Z2luIGRv
Y3VtZW50LiBJZiB0aGVyZSBpcyBubyBjcmFzaCwgdGhlIHRlc3QgcGFzc2VkLgorICAgIDxpZnJh
bWUgc3JjPSJyZXNvdXJjZXMvc2ltcGxlX2JsYW5rLnN3ZiI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>
<flag name="review"
          id="94660"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>