Код: Выделить всё
void f()
{
char* a = nullptr;
__try {
a = (char*) malloc(10);
if(!a) __leave;
a[1];
} __finally {}
}
Код: Выделить всё
(warning) Either the condition '!a' is redundant or there is possible null pointer dereference: a.
Можно ли заставить cppcheck это понять? В руководстве cppcheck указано:
Вы можете проверять нестандартный код, включающий различные расширения компилятора, встроенный ассемблерный код и т. д.
но я не нашел никакой дополнительной информации об этом.
Обратите внимание, я не нужно менять код, чтобы сделать cppcheck счастливым, а нужно, чтобы cppcheck понимал существующий код.
Подробнее здесь: https://stackoverflow.com/questions/474 ... extensions
Мобильная версия