Я не могу решить это предупреждение о недостатке (CWE-78, CWE-120)

Я не могу решить эти два предупреждения, найденные Flawfinder. Не могли бы вы ответить мне примером правильного кода?

Окончательные результаты:

flawfinder_exercise_old_SAL_syntax.cpp:48:  [4] (shell) system:
This causes a new program to execute and is difficult to use safely
(CWE-78). try using a library call that implements the same functionality
if available.<br>
flawfinder_exercise_old_SAL_syntax.cpp:36:  [2] (buffer) memcpy:
Does not check for buffer overflows when copying to destination (CWE-120).
Make sure destination can always hold the source data.*

Это тот, что в строке 48:

int execute(char *buf) {
return system(buf); // pass buf as command to be executed by the OS
}

Это тот, что в строке 36:

void copy_data(char *buf1,
char *buf2) {
memcpy(buf2,buf1,STR_SIZE);
buf2[STR_SIZE-1] = NULL; // null terminate, just in case
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]