Bombus - mobile Jabber client (J2ME)

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
Тип задачи Ошибка
Категория Основные функции
Статус Не подтверждено
Назначено Никто
ОС Все платформы
Важность Низкая
Приоритет Нормальный
Обнаружено в версии 0.2-Stable
Ожидается в версии Не решено
Срок Не решено
Завершённость 0%
Голоса 0
Приватная задача Нет

Подробности

Исправление:

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; 
                 }

Задача зависит от

Загрузка...