Как стать автором
Обновить

Комментарии 18

g_strlcpy (string, _("Untitled"), sizeof (string));

Ох, помню я как-то такой баг вылавливал пол-дня. Соль в том, что здесь стоит незаметный символ локализации, который в зависимости от текущей локали подставит перевод строки «Untitled». В результате из-за того, что русские строки занимают в UTF-8 кодировке по два байта на символ, гарантированно возникает переполнение буфера, причём у разработчика, естественно, «всё нормально», а у клиента с русской локалью — сегфолт. Понять, что баг зависит от локали порой очень сложно.

Хотя конкретно здесь мы максимум получим «обрубок» русского текста, причём возможно между символов.

P.S. По поводу интерфейса гимпа на хабре была неплохая статья, его можно настроить под себя.
Давно ждал эту статью.

Я сам как-то решил написать небольшую модификацию Gimp, и поэтому разбирал его код в течении недели. Могу смело сказать, исходный код Gimp-а — это неописуемый кошмар, просто ****ц какой-то. Сказывается тот факт, что разработчиков этого редактора мало, но при этом каждый имеет свою «уникальную» стилистику написания кода. Код этого проекта похож на какое-то «спагетти из нескольких видов макарон с несколькими соусами». Но при всём это ужасе этот код работает и довольно не плохо.
Кстати, модификацию я так не написал — не смог разобраться в зависимостях отдельных модулей.
Качество кода и удобство интерфейса не всегда связаны, увы.
И похоже, что вы своим анализатором очень хорошо дополняете «тяжелую артиллерию» благодаря нахождению мест, которые с точки зрения языка, инициализации, нулевых указателей и переполнения корректны, но при этом все же содержат в себе wtf-фактор вроде c |= 0 << (thisbit ++);
А свой логотип вы в чём рисовали?
В чём дизайнер (на заказ) рисовал единорогов я не знаю. А правлю я их для статей в GIMP и Paint, о чем упоминал в статье.
Пробовали Paint.NET?
>Например, при открытии файла нельзя вставить полный путь до файла в поле Location, если путь содержит буквы на русском языке
Это точно не глюк GTK под Windows, например?
У меня в Убунте Гимп 2.8.10, и в нём в меню Open Image вообще нет такой опции — пусть вставлять. Для этого есть специальный пункт Open Location, который русские буквы сожрал и не подавился.
Да есть там у вас такая опция. Ctrl+L нажмите — будет строчка. Правда нонче она не появляется если стоять на папке «Recently used» (нет, ну серьёзно: кому оно мешало?), сначала нужно кликнуть по какой-нибудь другой папке, потом нажать Ctrl+L, потом можно вставлять. Русские буквы в Linux'е вставляются исправно, скорее всего какой-то глюк GTK для Windows…
НЛО прилетело и опубликовало эту надпись здесь
Эх, клевый инструмент вы сделали, очень хочется натравить его на свои проекты, но когда ж будет версия под операционные системы…
GIMP проверялся под операционной системой, так как под Windows собрать его затруднительно. Напишите нам от имени компании, и мы обсудим варианты сотрудничества. Мы можем заключить контракт на аудит вашего кода или интеграцию PVS-Studio в процесс разработки (адаптацию для конкурентного Linux т.д.). Никаких публичных версий. Только контрактные работы.
У меня масштабы не такие. :) Хотя я очень за то, чтобы заплатить за инструменты аудита, но ментальная нагрузка будет велика при таком серъезном подходе.

Если не секрет, почему не выпускаете публичных версий для линукса/мака?
Если не секрет, почему не выпускаете публичных версий для линукса/мака?


Спроса нет.
Вот как. Т.е. все, кто под линуксом и маком — используют clang и вполне им довольны?..
Не готовы платить почему-то…
Решили рискнуть, вложиться и попробовать: PVS-Studio для Linux.
Ничего себе!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий