printf и gettext

Раз уж есть блог, надо в не и мысли свои высказывать. Данная мысль родилась в ходе работы над моим проектом dbused (http://code.google.com/p/dbused/ PR конечно, но всеже). К сожалению руки пока до русской доки (или хотябы английской) пока не дошли.

Теперь к мысли: при не очень удачном использовании printf, можно провести так называмую read attack (атака чтения). Проблема в том, что нету механизма в printf проверить, сколько и какие аргументы были переданы функции. Можно конечно использовать жестко закомпилированную строчку как формата, но тогда будет крайне неудобно использовать gettext для локализации.

Я решил эту проблему использованием функции parse_printf_format из printf.h для проверки на соответвие формата локализованной строки, возвращенной gettext. Эта функция возвращает количество и тип аргументов, нужных для формата.

Пока без оценки
pomidorius аватар

А вот это уже интересно. Болтунов много, а разработчиков на Си под Linux единицы. :) Было бы здорово, nikel, узнать чуть больше о IDE, версии компилятора, вспомогательных утилитах, которые вы используете и т.п. Возможно, такая информация сможет заинтересовать новых пользователей Linux в программировании.

Ваша оценка: Нет

Отправить комментарий

КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Яндекс.Метрика