Почему Cppcheck не находит этот очевидный массив за пределами ошибки -of -?

Я установил инструмент Cppcheck для статического анализа кода моего проекта на C++ и почувствовал, что он плохо работает. Например, может ли кто-нибудь сказать мне, , почему Cppcheck не может найти массив за пределами -ошибки -границ в следующем коде?

void f(int c) { 
    char *p = new char[10]; 
    p[c] = 42; 
} 

void g() { 
    f(100); 
} 

Существует онлайн-демонстрация , где этот код можно удобно проверить с помощью Cppcheck. Все, что он выдает, это утечка памяти в строке 4, никаких признаков потенциального переполнения буфера.

7
задан Jens Gustedt 15 August 2012 в 09:20
поделиться