Как стать автором
Обновить

Комментарии 4

misses incorrect memory release

free
[..]
If ptr is a null pointer, the function does nothing.

Ну да, ну да, incorrect.

Обратите внимание на то, как выделяется память

Спасибо за пример, что анализатор внимательнее человека :).

Анализатор знает, что в функцию free можно безопасно передавать NULL. Здесь он ругается не на то, что аргументом free является потенциально нулевой указатель.

Примечание. Да, анализатору не понравится, если в free чётко всегда передавать NULL. Это действительно подозрительно. Зачем так писать? Но здесь не этот случай.

Ошибка в том, что память может быть выделена с помощью оператора new[], а освобождается с помощью функции free.

-fsanitize=address позволяет отлавливать такие ошибки

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.