Bombus - mobile Jabber client
Sources: http://bombus-im.org/wiki/bombus/svn
!!! ВНИМАНИЕ !!! Убедительная просьба перед занесением багрепорта ознакомиться с правилами. Правильно оформленный отчёт об ошибке - залог быстрого её исправления. Спасибо!
FS#901 — Отсутствие обработки XML тегов и атрибутов может привести к отправке невалидного XML в поток
Присоединено проекту —
Bombus - mobile Jabber client (J2ME)
Открыто Vitaly (vitalyster) - Friday, 29 October 2010, 01:33 GMT+2
Открыто Vitaly (vitalyster) - Friday, 29 October 2010, 01:33 GMT+2
|
ПодробностиИсправление:
Index: src/xml/XMLParser.java
===================================================================
--- src/xml/XMLParser.java (revision 1442)
+++ src/xml/XMLParser.java (working copy)
@@ -98,8 +98,8 @@
if (c=='?') continue;
if (c==' ') continue;
if (c=='=') continue;
- if (c=='\'') { state=ATRVALQS; atrName=sbuf.toString(); sbuf.setLength(0); continue; }
- if (c=='\"') { state=ATRVALQD; atrName=sbuf.toString(); sbuf.setLength(0); continue; }
+ if (c=='\'') { state=ATRVALQS; atrName=parsePlainText(sbuf); sbuf.setLength(0); continue; }
+ if (c=='\"') { state=ATRVALQD; atrName=parsePlainText(sbuf); sbuf.setLength(0); continue; }
if (c!='>' && c!='/') {
sbuf.append(c);
@@ -117,7 +117,7 @@
state=ENDTAGNAME;
sbuf.setLength(0);
if (tagName.length()>0) {
- String tn=tagName.toString();
+ String tn=parsePlainText(tagName);
eventListener.tagStart(tn, attr);
sbuf.append(tn);
}
@@ -126,7 +126,7 @@
if (c==' ') { state=ATRNAME; continue; }
if (c=='>') {
state=PLAIN_TEXT;
- if (eventListener.tagStart(tagName.toString(), attr))
+ if (eventListener.tagStart(parsePlainText(tagName), attr))
state=BASE64_INIT;
continue;
}
|
Задача зависит от