Тема: SysQuery
Показать сообщение отдельно
Старый 02.03.2012, 13:58   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Действительно не экранируются! Посмотрел в коде метода SysQuery::Value() экранируются только: пробел, звёздочка, запятая, точка, круглые скобки и обратный слеш.
X++:
str quotableStr = ' *",.()\\';
Не экранируются знаки больше/меньше, восклицательный знак, вопросительный знак...
Очень странно. Почему?

Исправить можно добавив недостающие спец символы в строку quotableStr. Но перед этим нужно подумать ни повлияет ли это на работу остальных мест системы. Очень странно что это раньше не всплыло. А как с этим дела обстоят в предыдущих версиях?