<?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>19470</bug_id>
          
          <creation_ts>2008-06-10 17:21:39 -0700</creation_ts>
          <short_desc>Null pointer dereferences on a document with no documentElement</short_desc>
          <delta_ts>2008-09-15 07:04:21 -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>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://danceoffwithyourpantsoff.googlepages.com/empty-document.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>skylined</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>82870</commentid>
    <comment_count>0</comment_count>
    <who name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</who>
    <bug_when>2008-06-10 17:21:39 -0700</bug_when>
    <thetext>There are a few pieces of code that don&apos;t expect documentElement() to return NULL, and these will lead to calling methods on a null pointer.  I&apos;ve found 4 cases, but there are probably more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82886</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-06-10 21:23:47 -0700</bug_when>
    <thetext>Confirmed with r34486.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82908</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-06-11 00:28:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/5999631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83226</commentid>
    <comment_count>3</comment_count>
      <attachid>21683</attachid>
    <who name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</who>
    <bug_when>2008-06-13 11:23:31 -0700</bug_when>
    <thetext>Created attachment 21683
Proposed patch

Patch fixes the 4 issues in a pretty straightforward way.  I&apos;m not sure about throwing HIERARCHY_REQUEST_ERR in setBody, maybe there is something better to throw?

I can make a layout test if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83231</commentid>
    <comment_count>4</comment_count>
      <attachid>21683</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-06-13 11:47:41 -0700</bug_when>
    <thetext>Comment on attachment 21683
Proposed patch

This needs a ChangeLog, see:
http://webkit.org/coding/contributing.html

And a test case.  (Also, next time, mark the change as r=? if you&apos;d like it to be seen in the review queue. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83243</commentid>
    <comment_count>5</comment_count>
      <attachid>21687</attachid>
    <who name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</who>
    <bug_when>2008-06-13 13:41:37 -0700</bug_when>
    <thetext>Created attachment 21687
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83246</commentid>
    <comment_count>6</comment_count>
      <attachid>21687</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-13 14:06:44 -0700</bug_when>
    <thetext>Comment on attachment 21687
Proposed patch

Looks fine. There are various small problems such as:

+        * LayoutTests\fast\dom\documentElement-null-expected.txt: Added.

Slashes are backwards here. Paths are from the top level, but should be relative to the ChangeLog file. LayoutTests needs its own separate ChangeLog file, not entries in the WebCore ChangeLog file.

+            if (const Element *doc = static_cast&lt;const Document *&gt;(this)-&gt;documentElement())
+                return doc-&gt;lookupPrefix(namespaceURI);
+            return String();

We put the * next to the type name, although the old code didn&apos;t do that. The newly added braces aren&apos;t needed -- the if statement already scopes the variable declared inside it.

I&apos;d also suggest changing documentElement-null.html to create a document and put a message in at the end indicating success.

But I think the patch is good enough as-is that I&apos;m going to review+ it. The person landing it can probably fix a few things, or someone could do a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83278</commentid>
    <comment_count>7</comment_count>
      <attachid>21691</attachid>
    <who name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</who>
    <bug_when>2008-06-13 16:01:53 -0700</bug_when>
    <thetext>Created attachment 21691
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83308</commentid>
    <comment_count>8</comment_count>
      <attachid>21691</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-14 01:02:37 -0700</bug_when>
    <thetext>Comment on attachment 21691
Proposed patch

+  if (window.LayoutTestController)
+    window.LayoutTestController.dumpAsText();

The letter &quot;L&quot; has to be lowercase here, or it won&apos;t work.

Added: svn:eol-style
   + LF

Why LF style? We don&apos;t use that style for other files.

+            if (const Element* doc = static_cast&lt;const Document*&gt;(this)-&gt;documentElement())
+                return doc-&gt;isDefaultNamespace(namespaceURI);

We normally use &quot;doc&quot; for &quot;document&quot;. Using &quot;doc&quot; for &quot;documentElement&quot; is unnecessarily confusing. Maybe &quot;de&quot; or &quot;documentElement&quot; or even just &quot;e&quot; or &quot;element&quot;. Also really no need for const in the type of the local variable.

review- because of the letter &quot;L&quot; problem. I have no idea why the test worked!

Do you really want to go without a name in the change log? I&apos;d prefer &quot;Anonymous&quot; to &quot;danceoff&quot; for the name here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83487</commentid>
    <comment_count>9</comment_count>
      <attachid>21729</attachid>
    <who name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</who>
    <bug_when>2008-06-16 10:19:42 -0700</bug_when>
    <thetext>Created attachment 21729
Patch attempt number 300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83491</commentid>
    <comment_count>10</comment_count>
      <attachid>21729</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-16 10:46:43 -0700</bug_when>
    <thetext>Comment on attachment 21729
Patch attempt number 300

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84324</commentid>
    <comment_count>11</comment_count>
    <who name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</who>
    <bug_when>2008-06-24 17:40:16 -0700</bug_when>
    <thetext>What happens now, will it get landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84347</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-06-24 22:20:45 -0700</bug_when>
    <thetext>This was landed in &lt;http://trac.webkit.org/projects/webkit/changeset/34789&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91204</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-09-15 07:04:21 -0700</bug_when>
    <thetext>*** Bug 20853 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21683</attachid>
            <date>2008-06-13 11:23:31 -0700</date>
            <delta_ts>2008-06-13 13:41:37 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>19470.diff</filename>
            <type>text/plain</type>
            <size>2310</size>
            <attacher name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDM0NTE0KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDU0LDcgKzE0NTQsNyBAQAogCiB2b2lkIERvY3VtZW50
OjpzZXRCb2R5KFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IG5ld0JvZHksIEV4Y2VwdGlvbkNvZGUm
IGVjKQogewotICAgIGlmICghbmV3Qm9keSkgeyAKKyAgICBpZiAoIW5ld0JvZHkgfHwgIWRvY3Vt
ZW50RWxlbWVudCgpKSB7IAogICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lvbiAzNDUxNCkKKysrIFdlYkNvcmUv
ZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgyLDggKzEzODIsMTEgQEAKIAogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRf
Tk9ERToKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdCA8Y29uc3QgRG9jdW1lbnQgKj4o
dGhpcyktPmRvY3VtZW50RWxlbWVudCgpLT5pc0RlZmF1bHROYW1lc3BhY2UobmFtZXNwYWNlVVJJ
KTsKKyAgICAgICAgY2FzZSBET0NVTUVOVF9OT0RFOiB7CisgICAgICAgICAgICBpZiAoY29uc3Qg
RWxlbWVudCAqZG9jID0gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnQgKj4odGhpcyktPmRvY3Vt
ZW50RWxlbWVudCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBkb2MtPmlzRGVmYXVsdE5hbWVz
cGFjZShuYW1lc3BhY2VVUkkpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CiAgICAgICAgIGNhc2UgRU5USVRZX05PREU6CiAgICAgICAgIGNhc2UgTk9UQVRJT05fTk9ERToK
ICAgICAgICAgY2FzZSBET0NVTUVOVF9UWVBFX05PREU6CkBAIC0xNDEzLDggKzE0MTYsMTEgQEAK
ICAgICBzd2l0Y2ggKG5vZGVUeXBlKCkpIHsKICAgICAgICAgY2FzZSBFTEVNRU5UX05PREU6CiAg
ICAgICAgICAgICByZXR1cm4gbG9va3VwTmFtZXNwYWNlUHJlZml4KG5hbWVzcGFjZVVSSSwgc3Rh
dGljX2Nhc3Q8Y29uc3QgRWxlbWVudCAqPih0aGlzKSk7Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRf
Tk9ERToKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCAqPih0
aGlzKS0+ZG9jdW1lbnRFbGVtZW50KCktPmxvb2t1cFByZWZpeChuYW1lc3BhY2VVUkkpOworICAg
ICAgICBjYXNlIERPQ1VNRU5UX05PREU6IHsKKyAgICAgICAgICAgIGlmIChjb25zdCBFbGVtZW50
ICpkb2MgPSBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCAqPih0aGlzKS0+ZG9jdW1lbnRFbGVt
ZW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRvYy0+bG9va3VwUHJlZml4KG5hbWVzcGFj
ZVVSSSk7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgICAgIH0KICAgICAgICAg
Y2FzZSBFTlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBOT1RBVElPTl9OT0RFOgogICAgICAgICBj
YXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6CkBAIC0xNDcxLDggKzE0NzcsMTEgQEAKICAgICAg
ICAgICAgICAgICByZXR1cm4gYW5jZXN0b3ItPmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpOwog
ICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgICAgICB9Ci0gICAgICAgIGNhc2UgRE9D
VU1FTlRfTk9ERToKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVu
dCAqPih0aGlzKS0+ZG9jdW1lbnRFbGVtZW50KCktPmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgp
OworICAgICAgICBjYXNlIERPQ1VNRU5UX05PREU6IHsKKyAgICAgICAgICAgIGlmIChjb25zdCBF
bGVtZW50ICpkb2MgPSBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCAqPih0aGlzKS0+ZG9jdW1l
bnRFbGVtZW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRvYy0+bG9va3VwTmFtZXNwYWNl
VVJJKHByZWZpeCk7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgICAgIH0KICAg
ICAgICAgY2FzZSBFTlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBOT1RBVElPTl9OT0RFOgogICAg
ICAgICBjYXNlIERPQ1VNRU5UX1RZUEVfTk9ERToK
</data>
<flag name="review"
          id="9513"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21687</attachid>
            <date>2008-06-13 13:41:37 -0700</date>
            <delta_ts>2008-06-16 10:19:42 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>19470-2.diff</filename>
            <type>text/plain</type>
            <size>5094</size>
            <attacher name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvY3VtZW50RWxlbWVudC1udWxsLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9jdW1lbnRFbGVtZW50LW51bGwuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvY3VtZW50RWxlbWVudC1u
dWxsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFN0cmljdC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIEhUVFAtRVFVSVY9IkNvbnRlbnQtVHlwZSIgQ09OVEVOVD0idGV4dC9odG1sOyBjaGFy
c2V0PVVURi04Ij4KKzx0aXRsZT5XZWVlITwvdGl0bGU+Cis8c2NyaXB0Pgord2luZG93Lm9ubG9h
ZCA9IGZ1bmN0aW9uKCkgeworICAvLyBkdW1wQXNUZXh0IHdpbGwgZmFpbCB3aXRoIG5vIGRvY3Vt
ZW50RWxlbWVudCgpCisKKyAgdmFyIG1ldGhzID0gWworICAgIGRvY3VtZW50Lmxvb2t1cE5hbWVz
cGFjZVVSSSwKKyAgICBkb2N1bWVudC5pc0RlZmF1bHROYW1lc3BhY2UsCisgICAgZnVuY3Rpb24o
bm9kZSkgeyB0aGlzLmJvZHkgPSBub2RlIH0sCisgICAgZG9jdW1lbnQubG9va3VwUHJlZml4Cisg
IF07CisKKyAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiJyk7CisKKyAgLy8g
RW1wdHkgdGhlIGRvY3VtZW50CisgIHdoaWxlIChkb2N1bWVudC5maXJzdENoaWxkKQorICAgIGRv
Y3VtZW50LnJlbW92ZUNoaWxkKGRvY3VtZW50LmZpcnN0Q2hpbGQpOworCisgIGZvciAodmFyIGkg
PSAwLCBpbCA9IG1ldGhzLmxlbmd0aDsgaSA8IGlsOyArK2kpIHsKKyAgICB0cnkgeworICAgICAg
Ly8gU29tZSBleHBlY3Qgbm9kZXMsIHNvbWUgZXhwZWN0IHN0cmluZ3MsIGJ1dCBvdXIgbm9kZXMg
d2lsbCBnZXQKKyAgICAgIC8vIHRvU3RyaW5nJ2Qgc28gd2Ugc2hvdWxkIGJlIG9rIG9uIGJvdGgu
CisgICAgICBtZXRoc1tpXS5jYWxsKGRvY3VtZW50LCBub2RlLCBub2RlLCBub2RlKTsKKyAgICB9
IGNhdGNoKGUpIHsgfQorICB9Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPHA+
VGVzdCBmb3IgPGEgaHJlZj0iaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk0NzAiPmJ1ZyAxOTQ3MDwvYT46CitOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzIG9uIGEgZG9j
dW1lbnQgd2l0aCBubyBkb2N1bWVudEVsZW1lbnQ8L3A+Cis8cD5PbiBzdWNjZXNzLCBzaG91bGQg
aGF2ZSBhIGJsYW5rL2VtcHR5IGRvY3VtZW50IGFuZCBub3QgY3Jhc2guPC9wPgorCis8L2JvZHk+
Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0c1xmYXN0XGRvbVxkb2N1
bWVudEVsZW1lbnQtbnVsbC5odG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAg
KyBMRgoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvY3VtZW50RWxlbWVudC1udWxsLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb2N1bWVudEVs
ZW1lbnQtbnVsbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9kb2N1bWVudEVsZW1lbnQtbnVsbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0c1xmYXN0
XGRvbVxkb2N1bWVudEVsZW1lbnQtbnVsbC1leHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDM0NTIy
KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDU0LDcg
KzE0NTQsNyBAQAogCiB2b2lkIERvY3VtZW50OjpzZXRCb2R5KFBhc3NSZWZQdHI8SFRNTEVsZW1l
bnQ+IG5ld0JvZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIGlmICghbmV3Qm9keSkgeyAK
KyAgICBpZiAoIW5ld0JvZHkgfHwgIWRvY3VtZW50RWxlbWVudCgpKSB7IAogICAgICAgICBlYyA9
IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KSW5kZXg6IFdl
YkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShy
ZXZpc2lvbiAzNDUyMikKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzgyLDggKzEzODIsMTEgQEAKIAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICB9Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRfTk9ERToKLSAgICAgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdCA8Y29uc3QgRG9jdW1lbnQgKj4odGhpcyktPmRvY3VtZW50RWxlbWVudCgpLT5pc0Rl
ZmF1bHROYW1lc3BhY2UobmFtZXNwYWNlVVJJKTsKKyAgICAgICAgY2FzZSBET0NVTUVOVF9OT0RF
OiB7CisgICAgICAgICAgICBpZiAoY29uc3QgRWxlbWVudCAqZG9jID0gc3RhdGljX2Nhc3Q8Y29u
c3QgRG9jdW1lbnQgKj4odGhpcyktPmRvY3VtZW50RWxlbWVudCgpKQorICAgICAgICAgICAgICAg
IHJldHVybiBkb2MtPmlzRGVmYXVsdE5hbWVzcGFjZShuYW1lc3BhY2VVUkkpOworICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIGNhc2UgRU5USVRZX05PREU6CiAg
ICAgICAgIGNhc2UgTk9UQVRJT05fTk9ERToKICAgICAgICAgY2FzZSBET0NVTUVOVF9UWVBFX05P
REU6CkBAIC0xNDEzLDggKzE0MTYsMTEgQEAKICAgICBzd2l0Y2ggKG5vZGVUeXBlKCkpIHsKICAg
ICAgICAgY2FzZSBFTEVNRU5UX05PREU6CiAgICAgICAgICAgICByZXR1cm4gbG9va3VwTmFtZXNw
YWNlUHJlZml4KG5hbWVzcGFjZVVSSSwgc3RhdGljX2Nhc3Q8Y29uc3QgRWxlbWVudCAqPih0aGlz
KSk7Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRfTk9ERToKLSAgICAgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxjb25zdCBEb2N1bWVudCAqPih0aGlzKS0+ZG9jdW1lbnRFbGVtZW50KCktPmxvb2t1
cFByZWZpeChuYW1lc3BhY2VVUkkpOworICAgICAgICBjYXNlIERPQ1VNRU5UX05PREU6IHsKKyAg
ICAgICAgICAgIGlmIChjb25zdCBFbGVtZW50ICpkb2MgPSBzdGF0aWNfY2FzdDxjb25zdCBEb2N1
bWVudCAqPih0aGlzKS0+ZG9jdW1lbnRFbGVtZW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGRvYy0+bG9va3VwUHJlZml4KG5hbWVzcGFjZVVSSSk7CisgICAgICAgICAgICByZXR1cm4gU3Ry
aW5nKCk7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBFTlRJVFlfTk9ERToKICAgICAgICAgY2Fz
ZSBOT1RBVElPTl9OT0RFOgogICAgICAgICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6CkBA
IC0xNDcxLDggKzE0NzcsMTEgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gYW5jZXN0b3ItPmxv
b2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpOwogICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwog
ICAgICAgICB9Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRfTk9ERToKLSAgICAgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCAqPih0aGlzKS0+ZG9jdW1lbnRFbGVtZW50KCkt
Pmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpOworICAgICAgICBjYXNlIERPQ1VNRU5UX05PREU6
IHsKKyAgICAgICAgICAgIGlmIChjb25zdCBFbGVtZW50ICpkb2MgPSBzdGF0aWNfY2FzdDxjb25z
dCBEb2N1bWVudCAqPih0aGlzKS0+ZG9jdW1lbnRFbGVtZW50KCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGRvYy0+bG9va3VwTmFtZXNwYWNlVVJJKHByZWZpeCk7CisgICAgICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBFTlRJVFlfTk9ERToKICAgICAg
ICAgY2FzZSBOT1RBVElPTl9OT0RFOgogICAgICAgICBjYXNlIERPQ1VNRU5UX1RZUEVfTk9ERToK
SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNDUyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDgtMDYtMTMgIGRhbmNlb2ZmIDxkYW5jZW9mZndpdGh5b3VycGFu
dHNvZmZAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ3MAor
CisgICAgICAgIENoZWNrIGZvciBhIG51bGwgZG9jdW1lbnRFbGVtZW50KCkgdG8gZml4IGZvdXIg
Y3Jhc2hlcy4KKworICAgICAgICAqIExheW91dFRlc3RzXGZhc3RcZG9tXGRvY3VtZW50RWxlbWVu
dC1udWxsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogTGF5b3V0VGVzdHNcZmFzdFxk
b21cZG9jdW1lbnRFbGVtZW50LW51bGwuaHRtbDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZVxk
b21cRG9jdW1lbnQuY3BwOgorICAgICAgICAqIFdlYkNvcmVcZG9tXE5vZGUuY3BwOgorCiAyMDA4
LTA2LTEzICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgSmVzcy4K
</data>
<flag name="review"
          id="9515"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21691</attachid>
            <date>2008-06-13 16:01:53 -0700</date>
            <delta_ts>2008-06-16 10:19:42 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>19470-3.diff</filename>
            <type>text/plain</type>
            <size>5385</size>
            <attacher name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDM0NTIyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDgtMDYtMTMgIGRhbmNlb2ZmIDxkYW5jZW9m
ZndpdGh5b3VycGFudHNvZmZAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTQ3MAorCisgICAgICAgIENoZWNrIGZvciBhIG51bGwgZG9jdW1lbnRFbGVtZW50KCkg
dG8gZml4IGZvdXIgY3Jhc2hlcy4KKworICAgICAgICAqIExheW91dFRlc3RzL2Zhc3QvZG9tL2Rv
Y3VtZW50RWxlbWVudC1udWxsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogTGF5b3V0
VGVzdHMvZmFzdC9kb20vZG9jdW1lbnRFbGVtZW50LW51bGwuaHRtbDogQWRkZWQuCisKIDIwMDgt
MDYtMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSdWJiZXJz
dGFtcGVkIGJ5IE1hY2llai4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvY3VtZW50RWxl
bWVudC1udWxsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9jdW1l
bnRFbGVtZW50LW51bGwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9t
L2RvY3VtZW50RWxlbWVudC1udWxsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFN0cmljdC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIEhUVFAtRVFVSVY9IkNvbnRlbnQtVHlwZSIgQ09OVEVO
VD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KKzx0aXRsZT5XZWVlITwvdGl0bGU+Cis8c2Ny
aXB0Pgord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICBpZiAod2luZG93LkxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIHdpbmRvdy5MYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisKKyAgdmFyIG1ldGhzID0gWworICAgIGRvY3VtZW50Lmxvb2t1cE5hbWVzcGFjZVVSSSwK
KyAgICBkb2N1bWVudC5pc0RlZmF1bHROYW1lc3BhY2UsCisgICAgZnVuY3Rpb24obm9kZSkgeyB0
aGlzLmJvZHkgPSBub2RlIH0sCisgICAgZG9jdW1lbnQubG9va3VwUHJlZml4CisgIF07CisKKyAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiJyk7CisKKyAgLy8gRW1wdHkgdGhl
IGRvY3VtZW50CisgIHdoaWxlIChkb2N1bWVudC5maXJzdENoaWxkKQorICAgIGRvY3VtZW50LnJl
bW92ZUNoaWxkKGRvY3VtZW50LmZpcnN0Q2hpbGQpOworCisgIGZvciAodmFyIGkgPSAwLCBpbCA9
IG1ldGhzLmxlbmd0aDsgaSA8IGlsOyArK2kpIHsKKyAgICB0cnkgeworICAgICAgLy8gU29tZSBl
eHBlY3Qgbm9kZXMsIHNvbWUgZXhwZWN0IHN0cmluZ3MsIGJ1dCBvdXIgbm9kZXMgd2lsbCBnZXQK
KyAgICAgIC8vIHRvU3RyaW5nJ2Qgc28gd2Ugc2hvdWxkIGJlIG9rIG9uIGJvdGguCisgICAgICBt
ZXRoc1tpXS5jYWxsKGRvY3VtZW50LCBub2RlLCBub2RlLCBub2RlKTsKKyAgICB9IGNhdGNoKGUp
IHsgfQorICB9CisKKyAgZG9jdW1lbnQub3BlbigpOworICBkb2N1bWVudC53cml0ZSgnUEFTUycp
OworICBkb2N1bWVudC5jbG9zZSgpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisK
KzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5NDcwIj5idWcgMTk0NzA8L2E+OgorTnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlcyBvbiBh
IGRvY3VtZW50IHdpdGggbm8gZG9jdW1lbnRFbGVtZW50LjwvcD4KKzxwPk9uIHN1Y2Nlc3MsIHNo
b3VsZCBwcmludCBQQVNTLjwvcD4KKworPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdl
cyBvbjogTGF5b3V0VGVzdHNcZmFzdFxkb21cZG9jdW1lbnRFbGVtZW50LW51bGwuaHRtbApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9kb2N1bWVudEVsZW1lbnQtbnVsbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vZG9jdW1lbnRFbGVtZW50LW51bGwtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9jdW1lbnRFbGVtZW50LW51bGwt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitQQVNTCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0c1xmYXN0XGRvbVxkb2N1bWVudEVsZW1lbnQtbnVsbC1leHBl
Y3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5k
ZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAJKHJldmlzaW9uIDM0NTIyKQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDU0LDcgKzE0NTQsNyBAQAogCiB2b2lkIERvY3VtZW50Ojpz
ZXRCb2R5KFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IG5ld0JvZHksIEV4Y2VwdGlvbkNvZGUmIGVj
KQogewotICAgIGlmICghbmV3Qm9keSkgeyAKKyAgICBpZiAoIW5ld0JvZHkgfHwgIWRvY3VtZW50
RWxlbWVudCgpKSB7IAogICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lvbiAzNDUyMikKKysrIFdlYkNvcmUvZG9t
L05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgzLDcgKzEzODMsOSBAQAogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRE9DVU1FTlRfTk9ERToK
LSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdCA8Y29uc3QgRG9jdW1lbnQgKj4odGhpcykt
PmRvY3VtZW50RWxlbWVudCgpLT5pc0RlZmF1bHROYW1lc3BhY2UobmFtZXNwYWNlVVJJKTsKKyAg
ICAgICAgICAgIGlmIChjb25zdCBFbGVtZW50KiBkb2MgPSBzdGF0aWNfY2FzdDxjb25zdCBEb2N1
bWVudCo+KHRoaXMpLT5kb2N1bWVudEVsZW1lbnQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZG9jLT5pc0RlZmF1bHROYW1lc3BhY2UobmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgY2FzZSBFTlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBOT1RBVElP
Tl9OT0RFOgogICAgICAgICBjYXNlIERPQ1VNRU5UX1RZUEVfTk9ERToKQEAgLTE0MTQsNyArMTQx
Niw5IEBACiAgICAgICAgIGNhc2UgRUxFTUVOVF9OT0RFOgogICAgICAgICAgICAgcmV0dXJuIGxv
b2t1cE5hbWVzcGFjZVByZWZpeChuYW1lc3BhY2VVUkksIHN0YXRpY19jYXN0PGNvbnN0IEVsZW1l
bnQgKj4odGhpcykpOwogICAgICAgICBjYXNlIERPQ1VNRU5UX05PREU6Ci0gICAgICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnQgKj4odGhpcyktPmRvY3VtZW50RWxlbWVu
dCgpLT5sb29rdXBQcmVmaXgobmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIGlmIChjb25zdCBF
bGVtZW50KiBkb2MgPSBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCo+KHRoaXMpLT5kb2N1bWVu
dEVsZW1lbnQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZG9jLT5sb29rdXBQcmVmaXgobmFt
ZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICAgICAgY2FzZSBF
TlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBOT1RBVElPTl9OT0RFOgogICAgICAgICBjYXNlIERP
Q1VNRU5UX0ZSQUdNRU5UX05PREU6CkBAIC0xNDcyLDcgKzE0NzYsOSBAQAogICAgICAgICAgICAg
cmV0dXJuIFN0cmluZygpOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRE9DVU1FTlRfTk9ERToK
LSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCAqPih0aGlzKS0+
ZG9jdW1lbnRFbGVtZW50KCktPmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpOworICAgICAgICAg
ICAgaWYgKGNvbnN0IEVsZW1lbnQqIGRvYyA9IHN0YXRpY19jYXN0PGNvbnN0IERvY3VtZW50Kj4o
dGhpcyktPmRvY3VtZW50RWxlbWVudCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBkb2MtPmxv
b2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpOworICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwog
ICAgICAgICBjYXNlIEVOVElUWV9OT0RFOgogICAgICAgICBjYXNlIE5PVEFUSU9OX05PREU6CiAg
ICAgICAgIGNhc2UgRE9DVU1FTlRfVFlQRV9OT0RFOgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM0NTIyKQorKysgV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAwOC0wNi0x
MyAgZGFuY2VvZmYgPGRhbmNlb2Zmd2l0aHlvdXJwYW50c29mZkBnbWFpbC5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDcwCisKKyAgICAgICAgQ2hlY2sgZm9yIGEgbnVs
bCBkb2N1bWVudEVsZW1lbnQoKSB0byBmaXggZm91ciBjcmFzaGVzLgorCisgICAgICAgICogV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIFdlYkNvcmUvZG9tL05vZGUuY3BwOgor
CiAyMDA4LTA2LTEzICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgSmVzcy4K
</data>
<flag name="review"
          id="9518"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21729</attachid>
            <date>2008-06-16 10:19:42 -0700</date>
            <delta_ts>2008-06-16 10:46:43 -0700</delta_ts>
            <desc>Patch attempt number 300</desc>
            <filename>19470-4.diff</filename>
            <type>text/plain</type>
            <size>5293</size>
            <attacher name="danceoffwithyourpantsoff">danceoffwithyourpantsoff</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDM0NTIyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDgtMDYtMTMgIEFub255bW91cworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ3MAorCisgICAgICAgIENoZWNrIGZvciBhIG51
bGwgZG9jdW1lbnRFbGVtZW50KCkgdG8gZml4IGZvdXIgY3Jhc2hlcy4KKworICAgICAgICAqIExh
eW91dFRlc3RzL2Zhc3QvZG9tL2RvY3VtZW50RWxlbWVudC1udWxsLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9jdW1lbnRFbGVtZW50LW51bGwu
aHRtbDogQWRkZWQuCisKIDIwMDgtMDYtMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSdWJiZXJzdGFtcGVkIGJ5IE1hY2llai4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL2RvY3VtZW50RWxlbWVudC1udWxsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vZG9jdW1lbnRFbGVtZW50LW51bGwuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvY3VtZW50RWxlbWVudC1udWxsLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQg
SFRNTCA0LjAxIFN0cmljdC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIEhUVFAtRVFVSVY9
IkNvbnRlbnQtVHlwZSIgQ09OVEVOVD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KKzx0aXRs
ZT5XZWVlITwvdGl0bGU+Cis8c2NyaXB0Pgord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgdmFyIG1ldGhzID0gWworICAgIGRvY3VtZW50
Lmxvb2t1cE5hbWVzcGFjZVVSSSwKKyAgICBkb2N1bWVudC5pc0RlZmF1bHROYW1lc3BhY2UsCisg
ICAgZnVuY3Rpb24obm9kZSkgeyB0aGlzLmJvZHkgPSBub2RlIH0sCisgICAgZG9jdW1lbnQubG9v
a3VwUHJlZml4CisgIF07CisKKyAgdmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdi
Jyk7CisKKyAgLy8gRW1wdHkgdGhlIGRvY3VtZW50CisgIHdoaWxlIChkb2N1bWVudC5maXJzdENo
aWxkKQorICAgIGRvY3VtZW50LnJlbW92ZUNoaWxkKGRvY3VtZW50LmZpcnN0Q2hpbGQpOworCisg
IGZvciAodmFyIGkgPSAwLCBpbCA9IG1ldGhzLmxlbmd0aDsgaSA8IGlsOyArK2kpIHsKKyAgICB0
cnkgeworICAgICAgLy8gU29tZSBleHBlY3Qgbm9kZXMsIHNvbWUgZXhwZWN0IHN0cmluZ3MsIGJ1
dCBvdXIgbm9kZXMgd2lsbCBnZXQKKyAgICAgIC8vIHRvU3RyaW5nJ2Qgc28gd2Ugc2hvdWxkIGJl
IG9rIG9uIGJvdGguCisgICAgICBtZXRoc1tpXS5jYWxsKGRvY3VtZW50LCBub2RlLCBub2RlLCBu
b2RlKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorICB9CisKKyAgZG9jdW1lbnQub3BlbigpOworICBk
b2N1bWVudC53cml0ZSgnUEFTUycpOworICBkb2N1bWVudC5jbG9zZSgpOworfTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisKKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHA6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDcwIj5idWcgMTk0NzA8L2E+OgorTnVsbCBwb2lu
dGVyIGRlcmVmZXJlbmNlcyBvbiBhIGRvY3VtZW50IHdpdGggbm8gZG9jdW1lbnRFbGVtZW50Ljwv
cD4KKzxwPk9uIHN1Y2Nlc3MsIHNob3VsZCBwcmludCBQQVNTLjwvcD4KKworPC9ib2R5PgorPC9o
dG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHNcZmFzdFxkb21cZG9jdW1lbnRF
bGVtZW50LW51bGwuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0
aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9jdW1lbnRFbGVtZW50LW51bGwtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvY3VtZW50RWxl
bWVudC1udWxsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL2RvY3VtZW50RWxlbWVudC1udWxsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSBAQAorUEFTUwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHNcZmFzdFxkb21c
ZG9jdW1lbnRFbGVtZW50LW51bGwtZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpl
b2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAzNDUyMikKKysr
IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ1NCw3ICsxNDU0
LDcgQEAKIAogdm9pZCBEb2N1bWVudDo6c2V0Qm9keShQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBu
ZXdCb2R5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBpZiAoIW5ld0JvZHkpIHsgCisgICAg
aWYgKCFuZXdCb2R5IHx8ICFkb2N1bWVudEVsZW1lbnQoKSkgeyAKICAgICAgICAgZWMgPSBISUVS
QVJDSFlfUkVRVUVTVF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CkluZGV4OiBXZWJDb3Jl
L2RvbS9Ob2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlLmNwcAkocmV2aXNp
b24gMzQ1MjIpCisrKyBXZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM4
Myw3ICsxMzgzLDkgQEAKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAg
ICAgICBjYXNlIERPQ1VNRU5UX05PREU6Ci0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Qg
PGNvbnN0IERvY3VtZW50ICo+KHRoaXMpLT5kb2N1bWVudEVsZW1lbnQoKS0+aXNEZWZhdWx0TmFt
ZXNwYWNlKG5hbWVzcGFjZVVSSSk7CisgICAgICAgICAgICBpZiAoRWxlbWVudCogZGUgPSBzdGF0
aWNfY2FzdDxjb25zdCBEb2N1bWVudCo+KHRoaXMpLT5kb2N1bWVudEVsZW1lbnQoKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZGUtPmlzRGVmYXVsdE5hbWVzcGFjZShuYW1lc3BhY2VVUkkpOwor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBjYXNlIEVOVElUWV9OT0RFOgogICAg
ICAgICBjYXNlIE5PVEFUSU9OX05PREU6CiAgICAgICAgIGNhc2UgRE9DVU1FTlRfVFlQRV9OT0RF
OgpAQCAtMTQxNCw3ICsxNDE2LDkgQEAKICAgICAgICAgY2FzZSBFTEVNRU5UX05PREU6CiAgICAg
ICAgICAgICByZXR1cm4gbG9va3VwTmFtZXNwYWNlUHJlZml4KG5hbWVzcGFjZVVSSSwgc3RhdGlj
X2Nhc3Q8Y29uc3QgRWxlbWVudCAqPih0aGlzKSk7CiAgICAgICAgIGNhc2UgRE9DVU1FTlRfTk9E
RToKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCAqPih0aGlz
KS0+ZG9jdW1lbnRFbGVtZW50KCktPmxvb2t1cFByZWZpeChuYW1lc3BhY2VVUkkpOworICAgICAg
ICAgICAgaWYgKEVsZW1lbnQqIGRlID0gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnQqPih0aGlz
KS0+ZG9jdW1lbnRFbGVtZW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRlLT5sb29rdXBQ
cmVmaXgobmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICAg
ICAgY2FzZSBFTlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBOT1RBVElPTl9OT0RFOgogICAgICAg
ICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6CkBAIC0xNDcyLDcgKzE0NzYsOSBAQAogICAg
ICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgRE9DVU1F
TlRfTk9ERToKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudCAq
Pih0aGlzKS0+ZG9jdW1lbnRFbGVtZW50KCktPmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpOwor
ICAgICAgICAgICAgaWYgKEVsZW1lbnQqIGRlID0gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnQq
Pih0aGlzKS0+ZG9jdW1lbnRFbGVtZW50KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRlLT5s
b29rdXBOYW1lc3BhY2VVUkkocHJlZml4KTsKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
ICAgICAgICAgY2FzZSBFTlRJVFlfTk9ERToKICAgICAgICAgY2FzZSBOT1RBVElPTl9OT0RFOgog
ICAgICAgICBjYXNlIERPQ1VNRU5UX1RZUEVfTk9ERToKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAzNDUyMikKKysrIFdl
YkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDgtMDYt
MTMgIEFub255bW91cworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ3MAorCisg
ICAgICAgIENoZWNrIGZvciBhIG51bGwgZG9jdW1lbnRFbGVtZW50KCkgdG8gZml4IGZvdXIgY3Jh
c2hlcy4KKworICAgICAgICAqIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBX
ZWJDb3JlL2RvbS9Ob2RlLmNwcDoKKwogMjAwOC0wNi0xMyAgSnVzdGluIEdhcmNpYSAgPGp1c3Rp
bi5nYXJjaWFAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplc3MuCg==
</data>
<flag name="review"
          id="9548"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>