<?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>3653</bug_id>
          
          <creation_ts>2005-06-22 14:26:36 -0700</creation_ts>
          <short_desc>Safari crash on call to DOMImplementation.createDocumentType</short_desc>
          <delta_ts>2005-07-16 00:00:55 -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>412</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Curt Arnold">curt.arnold</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>12852</commentid>
    <comment_count>0</comment_count>
    <who name="Curt Arnold">curt.arnold</who>
    <bug_when>2005-06-22 14:26:36 -0700</bug_when>
    <thetext>The following document will crash Safari (2.0/412) and a recent CVS build of WebKit:


&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; 
    &quot;http://www.w3.org/TR/html4/strict.dtd&quot; &gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
		&lt;title&gt;implementation&lt;/title&gt;
		&lt;script type=&apos;text/javascript&apos;&gt;function loadComplete() { 
		
      var docType = document.implementation.createDocumentType(&quot;&quot;, 
         &quot;http://www.example.com/&quot;, &quot;myDoc.dtd&quot;);
		
}&lt;/script&gt;
	&lt;/head&gt;
	&lt;body onload=&quot;loadComplete()&quot;&gt;
	&lt;/body&gt;
&lt;/html&gt;

The expected behavior is the raising of an exception of some type, either a NOT_IMPLEMENTED_ERR 
exception since HTML-only implementations are not required to implement createDocumentType or a 
INVALID_CHARACTER_ERR since &quot;&quot; is not a valid tag name (INVALID_CHARACTER_ERR was stretched a 
bit to cover any failure to match the name production).

Crash report:


Date/Time:      2005-06-22 16:24:02.142 -0500
OS Version:     10.4.1 (Build 8B15)
Report Version: 3

Command: Safari
Path:    /Applications/Safari.app/Contents/MacOS/Safari
Parent:  tcsh [373]

Version:        2.0 (412)
Build Version:  1
Project Name:   WebBrowser
Source Version: 4120000

PID:    4354
Thread: 0

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000004

Thread 0 Crashed:
0   com.apple.WebCore              	0x018f5d48 DOM::DocumentPtr::document() const + 20 
(dom_nodeimpl.h:85)
1   com.apple.WebCore              	0x018f5e28 DOM::NodeImpl::getDocument() const + 40 
(dom_nodeimpl.h:293)
2   com.apple.WebCore              	0x0169b7f8 KJS::getDOMNode(KJS::ExecState*, DOM::NodeImpl*) + 
116 (kjs_dom.cpp:1654)
3   com.apple.WebCore              	0x0169c880 KJS::DOMDOMImplementationProtoFunc::tryCall
(KJS::ExecState*, KJS::Object&amp;, KJS::List const&amp;) + 972 (kjs_dom.cpp:1334)
4   com.apple.WebCore              	0x0168f42c KJS::DOMFunction::call(KJS::ExecState*, KJS::Object&amp;, 
KJS::List const&amp;) + 88 (kjs_binding.cpp:76)
5   com.apple.JavaScriptCore       	0x0102bd0c KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 932 
(nodes.cpp:754)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12885</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2005-06-22 20:18:03 -0700</bug_when>
    <thetext>Confirmed crash on build 412 and TOT (CVS TIP) as of 6/22/2005 8:00 PM CDT.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12886</commentid>
    <comment_count>2</comment_count>
      <attachid>2563</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2005-06-22 20:18:51 -0700</bug_when>
    <thetext>Created attachment 2563
Test case [CRASH]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13047</commentid>
    <comment_count>3</comment_count>
      <attachid>2627</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-06-24 07:23:38 -0700</bug_when>
    <thetext>Created attachment 2627
Don&apos;t assume that nodes always have a document pointer.

The crash is due to the assumption that dom nodes always have a document
pointer. This isn&apos;t true for nodes created with createElementType, as they
haven&apos;t been associated with any document.

(I&apos;m not sure if DOMNode::Mark() needs to be fixed aswell)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13049</commentid>
    <comment_count>4</comment_count>
      <attachid>2627</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-24 08:14:21 -0700</bug_when>
    <thetext>Comment on attachment 2627
Don&apos;t assume that nodes always have a document pointer.

I&apos;m not sure about the patch -- if these document type nodes aren&apos;t attached to
any document, perhaps there will be a lifetime issue for the wrappers? Maybe
you&apos;ll get two different wrappers for the same document type node, so that if
you attached a property to it early on and later got it once it was attached to
a document the property would be gone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13052</commentid>
    <comment_count>5</comment_count>
      <attachid>2627</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-24 08:21:17 -0700</bug_when>
    <thetext>Comment on attachment 2627
Don&apos;t assume that nodes always have a document pointer.

Yes, DOMNode::mark() also needs to be updated to handle this case. If there&apos;s
no document, it should just take the early return that calls DOMObject::mark().

And DOMNode::getValueProperty needs an update too.

I&apos;m thinking that patching each and every place that calls getDocument could be
a losing battle -- we might need to change the way document type nodes are
created to at least point them at a DocumentPtr that is 0 rather than having
the DocumentPtr itself be 0. There could be a single &quot;always-0&quot; DocumentPtr for
use in cases like that.

Once we do that we could revisit the things patched here -- we wouldn&apos;t have to
patch anything that checks the result of getDocument() for 0, only the things
that assume it&apos;s non-0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14249</commentid>
    <comment_count>6</comment_count>
      <attachid>2872</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-07-08 18:26:20 -0700</bug_when>
    <thetext>Created attachment 2872
Add always-0 documentptr

Here&apos;s a new patch which adds a nullDocumentPtr().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14290</commentid>
    <comment_count>7</comment_count>
      <attachid>2872</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-07-09 14:05:01 -0700</bug_when>
    <thetext>Comment on attachment 2872
Add always-0 documentptr

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2563</attachid>
            <date>2005-06-22 20:18:51 -0700</date>
            <delta_ts>2005-06-22 20:18:51 -0700</delta_ts>
            <desc>Test case [CRASH]</desc>
            <filename>bug-3653.html</filename>
            <type>text/html</type>
            <size>565</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAKICAgICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIiA+CjxodG1sPgogICAgICAgIDxo
ZWFkPgogICAgICAgICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgogICAgICAgICAgICAgICAgPHRpdGxlPmlt
cGxlbWVudGF0aW9uPC90aXRsZT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9q
YXZhc2NyaXB0Jz5mdW5jdGlvbiBsb2FkQ29tcGxldGUoKSB7IAogICAgICAgICAgICAgICAgCiAg
ICAgIHZhciBkb2NUeXBlID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnRU
eXBlKCIiLCAKICAgICAgICAgImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiwgIm15RG9jLmR0ZCIp
OwogICAgICAgICAgICAgICAgCn08L3NjcmlwdD4KICAgICAgICA8L2hlYWQ+CiAgICAgICAgPGJv
ZHkgb25sb2FkPSJsb2FkQ29tcGxldGUoKSI+CiAgICAgICAgPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2627</attachid>
            <date>2005-06-24 07:23:38 -0700</date>
            <delta_ts>2005-07-08 18:26:20 -0700</delta_ts>
            <desc>Don&apos;t assume that nodes always have a document pointer.</desc>
            <filename>webcore-create-document-type.diff</filename>
            <type>text/plain</type>
            <size>3159</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">PyAuZ2RiX2hpc3RvcnkKPyBsYXlvdXQtdGVzdHMvZmFzdC94c2wKPyBsYXlvdXQtdGVzdHMvZmFz
dC9kb20vLmdkYl9oaXN0b3J5Cj8gbGF5b3V0LXRlc3RzL2Zhc3QvZG9tL2NyZWF0ZURvY3VtZW50
VHlwZS5odG1sCj8gbGF5b3V0LXRlc3RzL2Zhc3QvZG9tL2lkcwpJbmRleDogQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL0NoYW5nZUxvZyx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS40MzExCmRpZmYgLXUgLXAgLXIxLjQzMTEgQ2hhbmdlTG9nCi0tLSBDaGFu
Z2VMb2cJMjAwNS8wNi8yNCAwNTo1OTowNQkxLjQzMTEKKysrIENoYW5nZUxvZwkyMDA1LzA2LzI0
IDE0OjIyOjIwCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDUtMDYtMjQgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQG1hYy5jb20+CisKKwktIEZpeGVzIDxodHRwOi8vYnVnemlsbGEub3BlbmRhcndp
bi5vcmcvc2hvd19idWcuY2dpP2lkPTM2NTM+LgorCQorICAgICAgICBUZXN0IGNhc2VzIGFkZGVk
OgorCWxheW91dC10ZXN0cy9mYXN0L2RvbS9jcmVhdGVEb2N1bWVudFR5cGUuaHRtbDogQWRkZWQK
KwlsYXlvdXQtdGVzdHMvZmFzdC9kb20vY3JlYXRlRG9jdW1lbnRUeXBlLWV4cGVjdGVkLnR4dDog
QWRkZWQKKworICAgICAgICAqIGtodG1sL2VjbWEva2pzX2RvbS5jcHA6CisgICAgICAgIChLSlM6
OkRPTU5vZGU6On5ET01Ob2RlKToKKyAgICAgICAgKEtKUzo6Z2V0RE9NTm9kZSk6CisJRG9uJ3Qg
YXNzdW1lIHRoYXQgRE9NIG5vZGVzIGFsd2F5cyBoYXZlIGEgZG9jdW1lbnQsIHRoaXMgaXNuJ3Qg
dHJ1ZQorCWZvciBuZXdseSBjcmVhdGVkIGRvY3VtZW50IHR5cGUgbm9kZXMuCisJCiAyMDA1LTA2
LTIzICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAqIGtodG1sL2h0
bWwvaHRtbF9mb3JtaW1wbC5jcHA6IChET006OkhUTUxUZXh0QXJlYUVsZW1lbnRJbXBsOjpzZXRW
YWx1ZSk6CkluZGV4OiBraHRtbC9lY21hL2tqc19kb20uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2VjbWEva2pzX2RvbS5jcHAsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuNzYKZGlmZiAtdSAtcCAtcjEuNzYga2pzX2RvbS5jcHAKLS0tIGtqc19kb20uY3Bw
CTIwMDUvMDYvMjIgMDA6NDg6NDQJMS43NgorKysga2pzX2RvbS5jcHAJMjAwNS8wNi8yNCAxNDoy
MjoyMQpAQCAtMTM1LDcgKzEzNSw4IEBAIERPTU5vZGU6OkRPTU5vZGUoTm9kZUltcGwgKm4pCiAK
IERPTU5vZGU6On5ET01Ob2RlKCkKIHsKLSAgU2NyaXB0SW50ZXJwcmV0ZXI6OmZvcmdldERPTU5v
ZGVGb3JEb2N1bWVudChtX2ltcGwtPmdldERvY3VtZW50KCksIG1faW1wbC5nZXQoKSk7CisgIGlm
IChtX2ltcGwtPmRvY1B0cigpKQorICAgIFNjcmlwdEludGVycHJldGVyOjpmb3JnZXRET01Ob2Rl
Rm9yRG9jdW1lbnQobV9pbXBsLT5nZXREb2N1bWVudCgpLCBtX2ltcGwuZ2V0KCkpOwogfQogCiB2
b2lkIERPTU5vZGU6Om1hcmsoKQpAQCAtMTY1MSw5ICsxNjUyLDkgQEAgVmFsdWVJbXAgKmdldERP
TU5vZGUoRXhlY1N0YXRlICpleGVjLCBObwogICBpZiAoIW4pCiAgICAgcmV0dXJuIE51bGwoKTsK
ICAgU2NyaXB0SW50ZXJwcmV0ZXIqIGludGVycCA9IHN0YXRpY19jYXN0PFNjcmlwdEludGVycHJl
dGVyICo+KGV4ZWMtPmR5bmFtaWNJbnRlcnByZXRlcigpKTsKLSAgRG9jdW1lbnRJbXBsICpkb2Mg
PSBuLT5nZXREb2N1bWVudCgpOworICBEb2N1bWVudEltcGwgKmRvYyA9IG4tPmRvY1B0cigpID8g
bi0+Z2V0RG9jdW1lbnQoKSA6IDA7CiAKLSAgaWYgKChyZXQgPSBpbnRlcnAtPmdldERPTU5vZGVG
b3JEb2N1bWVudChkb2MsIG4pKSkKKyAgaWYgKGRvYyAmJiAocmV0ID0gaW50ZXJwLT5nZXRET01O
b2RlRm9yRG9jdW1lbnQoZG9jLCBuKSkpCiAgICAgcmV0dXJuIHJldDsKIAogICBzd2l0Y2ggKG4t
Pm5vZGVUeXBlKCkpIHsKQEAgLTE2OTQsNyArMTY5NSw4IEBAIFZhbHVlSW1wICpnZXRET01Ob2Rl
KEV4ZWNTdGF0ZSAqZXhlYywgTm8KICAgICAgIHJldCA9IG5ldyBET01Ob2RlKGV4ZWMsIG4pOwog
ICB9CiAKLSAgaW50ZXJwLT5wdXRET01Ob2RlRm9yRG9jdW1lbnQoZG9jLCBuLCByZXQpOworICBp
ZiAoZG9jKQorICAgICAgaW50ZXJwLT5wdXRET01Ob2RlRm9yRG9jdW1lbnQoZG9jLCBuLCByZXQp
OwogCiAgIHJldHVybiByZXQ7CiB9Ci0tLSAvZGV2L251bGwJMjAwNS0wNi0yNCAxNjoyMTowMC4w
MDAwMDAwMDAgKzAyMDAKKysrIGxheW91dC10ZXN0cy9mYXN0L2RvbS9jcmVhdGVEb2N1bWVudFR5
cGUuaHRtbAkyMDA1LTA2LTI0IDE1OjIwOjMzLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDM4
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3RzKCkgeyAKKyAg
ICAgICAgICAgICAgICAKK3ZhciBkb2NUeXBlID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3Jl
YXRlRG9jdW1lbnRUeXBlKCJleGFtcGxlIiwgCisJICAgICAgImh0dHA6Ly93d3cuZXhhbXBsZS5j
b20vIiwgIm15RG9jLmR0ZCIpOworICAgICAgIAoraWYgKGRvY1R5cGUpCisgIHMgPSAiZG9jdW1l
bnQgdHlwZSBjcmVhdGVkIjsKK2Vsc2UKKyAgcyA9ICJkb2N1bWVudCB0eXBlIG5vdCBjcmVhdGVk
IjsKKyAgCit0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUocyk7Citkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnb3V0cHV0JykuYXBwZW5kQ2hpbGQodGV4dCk7CisKKyAgdmFyIGkgPSAwOwor
ICB3aGlsZSAoaSA8IDEwMDApIHsKKyAgICAgIGkgPSBpKzE7CisgIH0KKyAgCitkb2NUeXBlID0g
bnVsbDsKKyAgdmFyIGkgPSAwOworICB3aGlsZSAoaSA8IDEwMDApIHsKKyAgICAgIGkgPSBpKzE7
CisgIH0KKworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3RzKCki
PgorPHA+CitUaGUgdGV4dCBiZWxvdyBzaG91bGQgc2F5ICJkb2N1bWVudCB0eXBlIGNyZWF0ZWQi
OworPC9wPgorPGRpdiBpZD0ib3V0cHV0Ij4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="103"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2872</attachid>
            <date>2005-07-08 18:26:20 -0700</date>
            <delta_ts>2005-07-09 14:05:01 -0700</delta_ts>
            <desc>Add always-0 documentptr</desc>
            <filename>create-document-type-2.diff</filename>
            <type>text/plain</type>
            <size>3481</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9D
aGFuZ2VMb2csdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDM5NQpkaWZmIC11IC1yMS40Mzk1IENo
YW5nZUxvZwotLS0gQ2hhbmdlTG9nCTIwMDUvMDcvMDkgMDE6MDE6MDYJMS40Mzk1CisrKyBDaGFu
Z2VMb2cJMjAwNS8wNy8wOSAwMToyNjo1NApAQCAtMSwzICsxLDIxIEBACisyMDA1LTA3LTA5ICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBtYWMuY29tPgorCisJLSBGaXhlcyA8aHR0cDovL2J1
Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjUzPgorCQorICAgICAgICBU
ZXN0IGNhc2VzIGFkZGVkOgorCWxheW91dC10ZXN0cy9mYXN0L2RvbS9jcmVhdGVEb2N1bWVudFR5
cGUuaHRtbDogQWRkZWQKKwlsYXlvdXQtdGVzdHMvZmFzdC9kb20vY3JlYXRlRG9jdW1lbnRUeXBl
LWV4cGVjdGVkLnR4dDogQWRkZWQKKworICAgICAgICAqIGtodG1sL3htbC9kb21fbm9kZWltcGwu
Y3BwOgorICAgICAgICAoRG9jdW1lbnRQdHI6Om51bGxEb2N1bWVudFB0cik6CisgICAgICAgICog
a2h0bWwveG1sL2RvbV9ub2RlaW1wbC5oOgorCUFkZCBudWxsRG9jdW1lbnRQdHIoKSBmdW5jdGlv
biB3aGljaCByZXR1cm5zIGEgc2hhcmVkIERvY3VtZW50UHRyCisJb2JqZWN0IHdob3NlIGRvY3Vt
ZW50IGFsd2F5cyBpcyAwLgorCQorICAgICAgICAqIGtodG1sL3htbC9kb21fZG9jaW1wbC5jcHA6
CisgICAgICAgIChET01JbXBsZW1lbnRhdGlvbkltcGw6OmNyZWF0ZURvY3VtZW50VHlwZSk6CisJ
UGFzcyBudWxsRG9jdW1lbnRQdHIgYXMgdGhlIGRvY3VtZW50IHR5cGUncyBkb2N1bWVudC4KKwog
MjAwNS0wNy0wOCAgRXJpYyBTZWlkZWwgIDxlc2VpZGVsQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBtanMuCkluZGV4OiBraHRtbC94bWwvZG9tX25vZGVpbXBsLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC94bWwvZG9tX25vZGVpbXBsLmNw
cCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNTYKZGlmZiAtdSAtcjEuMTU2IGRvbV9ub2RlaW1w
bC5jcHAKLS0tIGRvbV9ub2RlaW1wbC5jcHAJMjAwNS8wNi8yMyAxOTo0Nzo1MAkxLjE1NgorKysg
ZG9tX25vZGVpbXBsLmNwcAkyMDA1LzA3LzA5IDAxOjI2OjU0CkBAIC01NzgsNiArNTc4LDE0IEBA
CiAgICAgcmV0dXJuICFkZWZhdWx0UHJldmVudGVkOyAvLyAjIyMgd2hhdCBpZiBkZWZhdWx0UHJl
dmVudGVkIHdhcyBjYWxsZWQgYmVmb3JlIGRpc3BhdGNoRXZlbnQ/CiB9CiAKK0RvY3VtZW50UHRy
ICpEb2N1bWVudFB0cjo6bnVsbERvY3VtZW50UHRyKCkKK3sKKyAgICBzdGF0aWMgRG9jdW1lbnRQ
dHIgZG9jOworICAgIAorICAgIGRvYy5yZWYoKTsKKyAgICByZXR1cm4gJmRvYzsKK30KKwogYm9v
bCBOb2RlSW1wbDo6ZGlzcGF0Y2hIVE1MRXZlbnQoaW50IF9pZCwgYm9vbCBjYW5CdWJibGVBcmcs
IGJvb2wgY2FuY2VsYWJsZUFyZykKIHsKICAgICBpbnQgZXhjZXB0aW9uY29kZSA9IDA7CkluZGV4
OiBraHRtbC94bWwvZG9tX25vZGVpbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290
L1dlYkNvcmUva2h0bWwveG1sL2RvbV9ub2RlaW1wbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
Ljg3CmRpZmYgLXUgLXIxLjg3IGRvbV9ub2RlaW1wbC5oCi0tLSBkb21fbm9kZWltcGwuaAkyMDA1
LzA2LzIzIDE5OjQ3OjUwCTEuODcKKysrIGRvbV9ub2RlaW1wbC5oCTIwMDUvMDcvMDkgMDE6MjY6
NTQKQEAgLTgzLDYgKzgzLDggQEAKIHsKIHB1YmxpYzoKICAgICBEb2N1bWVudEltcGwgKmRvY3Vt
ZW50KCkgY29uc3QgeyByZXR1cm4gZG9jOyB9CisgICAgc3RhdGljIERvY3VtZW50UHRyICpudWxs
RG9jdW1lbnRQdHIoKTsKKyAgICAKIHByaXZhdGU6CiAgICAgRG9jdW1lbnRQdHIoKSB7IGRvYyA9
IDA7IH0KICAgICBmcmllbmQgY2xhc3MgRG9jdW1lbnRJbXBsOwpJbmRleDoga2h0bWwveG1sL2Rv
bV9kb2NpbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRt
bC94bWwvZG9tX2RvY2ltcGwuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIzMgpkaWZmIC11
IC1yMS4yMzIgZG9tX2RvY2ltcGwuY3BwCi0tLSBkb21fZG9jaW1wbC5jcHAJMjAwNS8wNy8wOCAw
MDoyMDowMQkxLjIzMgorKysgZG9tX2RvY2ltcGwuY3BwCTIwMDUvMDcvMDkgMDE6MjY6NTQKQEAg
LTE2NSw3ICsxNjUsNyBAQAogICAgIH0KICNlbmRpZgogCi0gICAgcmV0dXJuIG5ldyBEb2N1bWVu
dFR5cGVJbXBsKHRoaXMsMCxxdWFsaWZpZWROYW1lLHB1YmxpY0lkLHN5c3RlbUlkKTsKKyAgICBy
ZXR1cm4gbmV3IERvY3VtZW50VHlwZUltcGwodGhpcyxEb2N1bWVudFB0cjo6bnVsbERvY3VtZW50
UHRyKCkscXVhbGlmaWVkTmFtZSxwdWJsaWNJZCxzeXN0ZW1JZCk7CiB9CiAKIERPTUltcGxlbWVu
dGF0aW9uSW1wbCogRE9NSW1wbGVtZW50YXRpb25JbXBsOjpnZXRJbnRlcmZhY2UoY29uc3QgRE9N
U3RyaW5nJiAvKmZlYXR1cmUqLykgY29uc3QKLS0tIC9kZXYvbnVsbAkyMDA1LTA3LTA5IDAzOjI0
OjUwLjAwMDAwMDAwMCArMDIwMAorKysgbGF5b3V0LXRlc3RzL2Zhc3QvZG9tL2NyZWF0ZURvY3Vt
ZW50VHlwZS5odG1sCTIwMDUtMDctMDkgMDM6MTI6MzkuMDAwMDAwMDAwICswMjAwCkBAIC0wLDAg
KzEsMjYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdHMoKSB7
IAorICAgICAgICAgICAgICAgIAordmFyIGRvY1R5cGUgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlv
bi5jcmVhdGVEb2N1bWVudFR5cGUoImV4YW1wbGUiLCAKKwkgICAgICAiaHR0cDovL3d3dy5leGFt
cGxlLmNvbS8iLCAibXlEb2MuZHRkIik7CisgICAgICAgCitpZiAoZG9jVHlwZSkKKyAgcyA9ICJk
b2N1bWVudCB0eXBlIGNyZWF0ZWQiOworZWxzZQorICBzID0gImRvY3VtZW50IHR5cGUgbm90IGNy
ZWF0ZWQiOworICAKK3RleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzKTsKK2RvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdvdXRwdXQnKS5hcHBlbmRDaGlsZCh0ZXh0KTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0cygpIj4KKzxwPgorVGhlIHRleHQgYmVs
b3cgc2hvdWxkIHNheSAiZG9jdW1lbnQgdHlwZSBjcmVhdGVkIjsKKzwvcD4KKzxkaXYgaWQ9Im91
dHB1dCI+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCg==
</data>
<flag name="review"
          id="199"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>