Раз уж есть блог, надо в не и мысли свои высказывать. Данная мысль родилась в ходе работы над моим проектом dbused (http://code.google.com/p/dbused/ PR конечно, но всеже). К сожалению руки пока до русской доки (или хотябы английской) пока не дошли.
Теперь к мысли: при не очень удачном использовании printf, можно провести так называмую read attack (атака чтения). Проблема в том, что нету механизма в printf проверить, сколько и какие аргументы были переданы функции. Можно конечно использовать жестко закомпилированную строчку как формата, но тогда будет крайне неудобно использовать gettext для локализации.
Я решил эту проблему использованием функции parse_printf_format из printf.h для проверки на соответвие формата локализованной строки, возвращенной gettext. Эта функция возвращает количество и тип аргументов, нужных для формата.
А вот это уже интересно. Болтунов много, а разработчиков на Си под Linux единицы. :) Было бы здорово, nikel, узнать чуть больше о IDE, версии компилятора, вспомогательных утилитах, которые вы используете и т.п. Возможно, такая информация сможет заинтересовать новых пользователей Linux в программировании.
Отправить комментарий