Чтобы извлечь все защитные условия, которые гарантируют, что входные данные могут достичь определенной целевой строки (например, «cplus-dem.c:4319») в программе C/C++, в настоящее время я изучаю возможность написания запросов CodeQL для выполнения этой задачи. задания. Есть ли какие-либо другие инструменты или методы, которые я могу использовать?
Возьмите этот фрагмент кода в качестве примера. Мы видим, что условия защиты:
Код: Выделить всё
void exampleFunction(int x, int y) {
if (x > 0) {
if (y < 10) {
// Some code
if (x + y > 5) {
// Target line
printf("Target line\n"); // line 4319
}
}
}
}
Я пытался написать запросы CodeQL, но код по-прежнему содержит ошибки и не может быть запущен.
Подробнее здесь:
https://stackoverflow.com/questions/785 ... -c-c-progr