Re: Качество кода CMake
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 05.09.19 10:58
Оценка:
Здравствуйте, jul_nevermind, Вы писали:

_>CMake (от англ. cross-platform make) — это кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода. CMake не занимается непосредственно сборкой, а лишь генерирует файлы управления сборкой из файлов CMakeLists.txt.


_>Недавно проект проверили разработчики статического анализатора и написали об этом статью. Прежде, чем прочитать ее, сможете сказать, что не так в этом коде?


 if (lensymbol > (int)(sizeof(lengthbases)/sizeof(lengthbases[0])))
  goto bad_data;

 len = lengthbases[lensymbol] + 2;


Ответы я тоже не читал (не, таки заглянул )

Неправильная проверка ( > вместо >=) — это ладно.

А вот за приведение к (int) —

UPD. Тут еще вопрос к типу lensymbol ... а ну как он знаковый и значение lensymbol может быть отрицательным? Хотя да, туплю, вопрос снимается
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Отредактировано 05.09.2019 11:04 DDDX . Предыдущая версия . Еще …
Отредактировано 05.09.2019 11:03 DDDX . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.