<?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>5538</bug_id>
          
          <creation_ts>2005-10-29 01:14:54 -0700</creation_ts>
          <short_desc>XSLT crashes with multi-word internal entity declarations</short_desc>
          <delta_ts>2005-12-26 14:08:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</component>
          <version>420+</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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23149</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-29 01:14:54 -0700</bug_when>
    <thetext>XSLT crashes with multi-word internal entity delcarations.

See attached test case.  Crashes WebKit every time.

This is also in radar:
&lt;rdar://problem/4271835&gt; CRASH: Safari crashes when processing XSL containing ENTITY values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23150</commentid>
    <comment_count>1</comment_count>
      <attachid>4516</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-29 01:15:55 -0700</bug_when>
    <thetext>Created attachment 4516
Patch containing reduced test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25839</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-11 19:22:51 -0800</bug_when>
    <thetext>Crash is due to code using the IS_XSLT_ELEM macro on a node that&apos;s actually an entity declaration.

Perhaps it&apos;s a bug that IS_XSLT_ELEM doesn&apos;t work properly in that case, but more likely there&apos;s some 
subtle rule about when you can use that macro. Apparently, many XML nodes don&apos;t have any of the fields 
in the xmlNode structure past the &quot;common part&quot;, so it&apos;s strange that xmlNode includes these fields and 
strange that IS_XSLT_ELEM looks at the &quot;ns&quot; field without first checking the element type.

Fix is presumably to check the element type before calling IS_XSLT_ELEM. Perhaps also libxslt should have 
that macro fixed so it works on any node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25842</commentid>
    <comment_count>3</comment_count>
      <attachid>5046</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-11 19:59:38 -0800</bug_when>
    <thetext>Created attachment 5046
add node type checks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25843</commentid>
    <comment_count>4</comment_count>
      <attachid>5046</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-11 20:12:57 -0800</bug_when>
    <thetext>Comment on attachment 5046
add node type checks

Looks good.  r=me.  (Thanks for fixing this, btw.)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4516</attachid>
            <date>2005-10-29 01:15:55 -0700</date>
            <delta_ts>2005-10-29 01:15:55 -0700</delta_ts>
            <desc>Patch containing reduced test case.</desc>
            <filename>reduced.patch</filename>
            <type>text/plain</type>
            <size>940</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IHJlc291cmNlcy94c2x0LWVudGl0eS54c2wKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogeHNs
dC1lbnRpdHkueHNsCmRpZmYgLU4gcmVzb3VyY2VzL3hzbHQtZW50aXR5LnhzbAotLS0gcmVzb3Vy
Y2VzL3hzbHQtZW50aXR5LnhzbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyByZXNvdXJj
ZXMveHNsdC1lbnRpdHkueHNsCTI5IE9jdCAyMDA1IDA4OjE0OjIyIC0wMDAwCkBAIC0wLDAgKzEs
MTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04IiA/Pg0KKzwhRE9DVFlQ
RSB0ZXN0LWRvY3VtZW50IFsNCis8IUVOVElUWSBIRUxMTyAiSGVsbG8gV29ybGQsIFN1Y2Nlc3Mh
Ij4NCitdPg0KKzx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAiIHhtbG5zOnhzbD0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIj4NCisgICAgPHhzbDp0ZW1wbGF0ZSBtYXRj
aD0iLyI+DQorCQk8UD4mSEVMTE87PC9QPg0KKyAgICA8L3hzbDp0ZW1wbGF0ZT4NCis8L3hzbDpz
dHlsZXNoZWV0Pg0KKw0KSW5kZXg6IHhzbHQtZW50aXR5LnhtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiB4c2x0LWVudGl0eS54bWwKZGlmZiAtTiB4c2x0LWVudGl0eS54bWwKLS0tIHhzbHQtZW50aXR5
LnhtbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyB4c2x0LWVudGl0eS54bWwJMjkgT2N0
IDIwMDUgMDg6MTQ6MjQgLTAwMDAKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAi
ID8+Cis8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRleHQveHNsIiBocmVmPSJyZXNvdXJjZXMveHNs
dC1lbnRpdHkueHNsIj8+CisKKzxURVNUIC8+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5046</attachid>
            <date>2005-12-11 19:59:38 -0800</date>
            <delta_ts>2005-12-11 20:12:57 -0800</delta_ts>
            <desc>add node type checks</desc>
            <filename>XSLTCrashPatch.txt</filename>
            <type>text/plain</type>
            <size>4773</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEzOQpkaWZm
IC1wIC11IC1yMS4xMzkgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCi0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJMTEgRGVjIDIwMDUgMTE6NDc6MzkgLTAwMDAJMS4xMzkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkxMiBEZWMgMjAwNSAwMzo0NzoyNSAtMDAwMApAQCAtMSwzICsxLDEzIEBACisyMDA1
LTEyLTExICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNhc2UgZm9yIGh0dHA6Ly9idWd6
aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUzOAorCisgICAgICAgICogZmFz
dC94c2wvcmVzb3VyY2VzL3hzbHQtZW50aXR5LnhzbDogQWRkZWQuCisgICAgICAgICogZmFzdC94
c2wveHNsdC1lbnRpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3hzbC94
c2x0LWVudGl0eS54bWw6IEFkZGVkLgorCiAyMDA1LTEyLTExICBFcmljIFNlaWRlbCAgPGVzZWlk
ZWxAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IGRhcmluICYgbWpzLgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC94c2wveHNsdC1lbnRpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IGZhc3QveHNsL3hzbHQtZW50aXR5LWV4cGVjdGVkLnR4dApkaWZmIC1OIExheW91
dFRlc3RzL2Zhc3QveHNsL3hzbHQtZW50aXR5LWV4cGVjdGVkLnR4dAotLS0gTGF5b3V0VGVzdHMv
ZmFzdC94c2wveHNsdC1lbnRpdHktZXhwZWN0ZWQudHh0CTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAw
MDAKKysrIExheW91dFRlc3RzL2Zhc3QveHNsL3hzbHQtZW50aXR5LWV4cGVjdGVkLnR4dAkxMiBE
ZWMgMjAwNSAwMzo0Nzo0OSAtMDAwMApAQCAtMCwwICsxLDYgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJDYW52YXMgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHgxOAorICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MTgKKyAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBzaXplIDE0MngxOAorICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMTQyOiAiSGVsbG8gV29ybGQsIFN1Y2Nlc3MhIgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC94c2wveHNsdC1lbnRpdHkueG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IGZhc3QveHNsL3hzbHQtZW50aXR5LnhtbApkaWZmIC1OIExheW91dFRlc3RzL2Zhc3QveHNsL3hz
bHQtZW50aXR5LnhtbAotLS0gTGF5b3V0VGVzdHMvZmFzdC94c2wveHNsdC1lbnRpdHkueG1sCTEg
SmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIExheW91dFRlc3RzL2Zhc3QveHNsL3hzbHQtZW50
aXR5LnhtbAkxMiBEZWMgMjAwNSAwMzo0Nzo0OSAtMDAwMApAQCAtMCwwICsxLDQgQEAKKzw/eG1s
IHZlcnNpb249IjEuMCIgPz4KKzw/eG1sLXN0eWxlc2hlZXQgdHlwZT0idGV4dC94c2wiIGhyZWY9
InJlc291cmNlcy94c2x0LWVudGl0eS54c2wiPz4KKworPFRFU1QgLz4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QveHNsL3Jlc291cmNlcy94c2x0LWVudGl0eS54c2wKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogZmFzdC94c2wvcmVzb3VyY2VzL3hzbHQtZW50aXR5LnhzbApkaWZmIC1OIExheW91dFRlc3Rz
L2Zhc3QveHNsL3Jlc291cmNlcy94c2x0LWVudGl0eS54c2wKLS0tIExheW91dFRlc3RzL2Zhc3Qv
eHNsL3Jlc291cmNlcy94c2x0LWVudGl0eS54c2wJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAor
KysgTGF5b3V0VGVzdHMvZmFzdC94c2wvcmVzb3VyY2VzL3hzbHQtZW50aXR5LnhzbAkxMiBEZWMg
MjAwNSAwMzo0Nzo0OSAtMDAwMApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAi
IGVuY29kaW5nPSJ1dGYtOCIgPz4KKzwhRE9DVFlQRSB0ZXN0LWRvY3VtZW50IFsKKzwhRU5USVRZ
IEhFTExPICJIZWxsbyBXb3JsZCwgU3VjY2VzcyEiPgorXT4KKzx4c2w6c3R5bGVzaGVldCB2ZXJz
aW9uPSIxLjAiIHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3Jt
Ij4KKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KKwkJPFA+JkhFTExPOzwvUD4KKyAgICA8
L3hzbDp0ZW1wbGF0ZT4KKzwveHNsOnN0eWxlc2hlZXQ+CisKSW5kZXg6IFdlYkNvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL0NoYW5nZUxvZyx2CnJl
dHJpZXZpbmcgcmV2aXNpb24gMS41MTAKZGlmZiAtcCAtdSAtcjEuNTEwIFdlYkNvcmUvQ2hhbmdl
TG9nCi0tLSBXZWJDb3JlL0NoYW5nZUxvZwkxMSBEZWMgMjAwNSAxMTo0MTo1OCAtMDAwMAkxLjUx
MAorKysgV2ViQ29yZS9DaGFuZ2VMb2cJMTIgRGVjIDIwMDUgMDM6NTA6MjEgLTAwMDAKQEAgLTEs
MyArMSwxNSBAQAorMjAwNS0xMi0xMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBmaXhlZCBo
dHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTU1MzgKKyAgICAg
ICAgICBYU0xUIGNyYXNoZXMgd2l0aCBtdWx0aS13b3JkIGludGVybmFsIGVudGl0eSBkZWNsYXJh
dGlvbnMKKworICAgICAgICBBZGRlZCB0aGUgY3Jhc2hpbmcgc3BlY2ltZW4gYXMgYSBsYXlvdXQg
dGVzdC4KKworICAgICAgICAqIGtodG1sL3hzbC94c2xfc3R5bGVzaGVldGltcGwuY3BwOiAoRE9N
OjpYU0xTdHlsZVNoZWV0SW1wbDo6bG9hZENoaWxkU2hlZXRzKToKKyAgICAgICAgQ2hlY2sgdGhh
dCB0aGUgbm9kZSBpcyBhbiBlbGVtZW50IG5vZGUgYmVmb3JlIGNhbGxpbmcgSVNfWFNMVF9FTEVN
LgorCiAyMDA1LTEyLTExICBFcmljIFNlaWRlbCAgPGVzZWlkZWxAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IGRhcmluICYgbWpzLgpJbmRleDogV2ViQ29yZS9raHRtbC94c2wveHNs
X3N0eWxlc2hlZXRpbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29y
ZS9raHRtbC94c2wveHNsX3N0eWxlc2hlZXRpbXBsLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS41CmRpZmYgLXAgLXUgLXIxLjUgV2ViQ29yZS9raHRtbC94c2wveHNsX3N0eWxlc2hlZXRpbXBs
LmNwcAotLS0gV2ViQ29yZS9raHRtbC94c2wveHNsX3N0eWxlc2hlZXRpbXBsLmNwcAkyNSBPY3Qg
MjAwNSAwMDowNzo0OCAtMDAwMAkxLjUKKysrIFdlYkNvcmUva2h0bWwveHNsL3hzbF9zdHlsZXNo
ZWV0aW1wbC5jcHAJMTIgRGVjIDIwMDUgMDM6NTA6MjIgLTAwMDAKQEAgLTE0OCw3ICsxNDgsNyBA
QCB2b2lkIFhTTFN0eWxlU2hlZXRJbXBsOjpsb2FkQ2hpbGRTaGVldHMoCiAgICAgICAgICAgICAg
ICAgY3VyciA9IGN1cnItPm5leHQ7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBpZiAoSVNfWFNMVF9FTEVNKGN1cnIpICYmIElTX1hTTFRfTkFN
RShjdXJyLCAiaW1wb3J0IikpIHsKKyAgICAgICAgICAgIGlmIChjdXJyLT50eXBlID09IFhNTF9F
TEVNRU5UX05PREUgJiYgSVNfWFNMVF9FTEVNKGN1cnIpICYmIElTX1hTTFRfTkFNRShjdXJyLCAi
aW1wb3J0IikpIHsKICAgICAgICAgICAgICAgICB4bWxDaGFyKiB1cmlSZWYgPSB4c2x0R2V0TnNQ
cm9wKGN1cnIsIChjb25zdCB4bWxDaGFyICopImhyZWYiLCBYU0xUX05BTUVTUEFDRSk7CiAgICAg
ICAgICAgICAgICAgUVN0cmluZyBidWZmID0gUVN0cmluZzo6ZnJvbVV0ZjgoKGNvbnN0IGNoYXIq
KXVyaVJlZik7CiAgICAgICAgICAgICAgICAgbG9hZENoaWxkU2hlZXQoYnVmZik7CkBAIC0xNTks
NyArMTU5LDcgQEAgdm9pZCBYU0xTdHlsZVNoZWV0SW1wbDo6bG9hZENoaWxkU2hlZXRzKAogCiAg
ICAgICAgIC8vIE5vdyBoYW5kbGUgaW5jbHVkZXMuCiAgICAgICAgIHdoaWxlIChjdXJyKSB7Ci0g
ICAgICAgICAgICBpZiAoSVNfWFNMVF9FTEVNKGN1cnIpICYmIElTX1hTTFRfTkFNRShjdXJyLCAi
aW5jbHVkZSIpKSB7CisgICAgICAgICAgICBpZiAoY3Vyci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9O
T0RFICYmIElTX1hTTFRfRUxFTShjdXJyKSAmJiBJU19YU0xUX05BTUUoY3VyciwgImluY2x1ZGUi
KSkgewogICAgICAgICAgICAgICAgIHhtbENoYXIqIHVyaVJlZiA9IHhzbHRHZXROc1Byb3AoY3Vy
ciwgKGNvbnN0IHhtbENoYXIgKikiaHJlZiIsIFhTTFRfTkFNRVNQQUNFKTsKICAgICAgICAgICAg
ICAgICBRU3RyaW5nIGJ1ZmYgPSBRU3RyaW5nOjpmcm9tVXRmOCgoY29uc3QgY2hhciopdXJpUmVm
KTsKICAgICAgICAgICAgICAgICBsb2FkQ2hpbGRTaGVldChidWZmKTsK
</data>
<flag name="review"
          id="992"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>