Pull to refresh

Comments 12

V1028 Possible overflow. Consider casting operands, not the result. makecert.c 1087

а эта проверка какие содержит эвристики кроме того что константный множитель уже сам по себе большой?
она ж иначе очень часто может начать вякать не по теме.
Это достаточно «молодая» диагностика, ещё не обросла исключениями. Там есть, например, учёт используемых операторов, участвующих в вычислениях и т.п. Особые исключения обычно документируются, но тут пока большого списка нет. Распространённые кейсы, которые выявляет наша система тестирования, добавлены в базовую реализацию диагностики.
Понятно :)

Вообще, этот случай хрестоматийный — советую в базу знаний включить как наглядный пример. Куда лучше абстрактного (long)(a*b) vs (long)a*b
FreeRDP – свободная реализация клиента

А ещё, библиотеки и сервера… В общем протокола и его референсных приложений.


Что характерно, в англоязычной версии подобной неточности нет, но почему-то заменили free на opensource, а это, насколько я знаю не есть синонимы.

Цикл статей про "они опять отстрелили себе обе ноги на C++" продолжается. А что про Java анализатор можете сказать? Пока никто не пользуется или в Java всё-таки априори нет таких багов, как в C++ и анализировать особо нечего?

Будут и статьи и под Java. Сил на всё не хватает. Идёт цикл подготовки к весенним конференциям.
Поверьте мне, в Java-программах сажают, пожалуй, даже больше багов, чем в C++ — только ловить их анализатором сложнее.

Потому что в программе на C++ виден контекст, анализатор может за него «зацепиться» и что-то «понять».

А когда у вас фабрика фабрик фабрик и настройка через XML, то понять — будет в вашем конкретном случае баг в этом коде или не будет… гораздо сложнее.

Выдавать ведь все потенциальные баги бессмысленно — хочется, чтобы ненулевой их процент был багами реальными…
Судя по статье, из 17 приведенных багов, обнаруженных анализатором, подавляющее большинство — это логические и алгоритмические ошибки, а также последствия технологии cut&paste. Такого и в Java навалом, уверяю вас. Такого рода ошибки вообще, так сказать, языконезависимы.
Sign up to leave a comment.