Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V627. Argument of sizeof() is a...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V627. Argument of sizeof() is a macro, which expands to a number. Consider inspecting the expression.

03 Июл 2012

Анализатор обнаружил потенциально возможную ошибку, связанную с тем, что аргументом оператор 'sizeof' является макрос, раскрывающийся в число. Такое использование оператора может привести к выделению некорректного размера памяти и иным ошибкам.

Рассмотрим пример:

#define NPOINT 100
...
char *point = (char *)malloc(sizeof(NPOINT));

В результате выполнения данного кода будет выделен недостаточный объем памяти. Корректный вариант кода:

#define NPOINT 100
...
char *point = (char *)malloc(NPOINT);

Данная диагностика классифицируется как:

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V627.