Информация об изменениях

Сообщение Re: Качество кода CMake от 05.09.2019 10:58

Изменено 05.09.2019 11:04 DDDX

Re: Качество кода CMake
Здравствуйте, 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 может быть отрицательным?
Re: Качество кода CMake
Здравствуйте, 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 может быть отрицательным? Хотя да, туплю, вопрос снимается