Вебинар: Стратегия без иллюзий: как превращать цели в результаты - 19.08
Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.
Правило актуально для языка C.
Функция system не должна быть использована, и ни один макрос с подобным именем не должен быть раскрыт.
Использование этой функции может привести к уязвимостям, если переданный аргумент не был корректно проверен. Злоумышленник может выполнять произвольные команды или считывать и изменять данные в любом месте системы.
Пример кода, на который анализатор выдаст предупреждение:
void funcEx00()
{
system("mkdir tmp_dir");
system("chmod 777 ./myfile");
}
Также анализатор будет выдавать предупреждения на использование макросов с соответствующим именем:
#define system printf("msg\n");
void PositiveTestMacro()
{
system("gcc --version");
}
Диагностическое правило классифицируется как:
|
Была ли полезна эта страница документации?
Мы ответим вам на:
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок: