Неправильная функция отмены распределения приводит к повреждению памяти
Этот дефект возникает при использовании функции отмены назначения Windows ®, которая неправильно связана с соответствующей функцией распределения.
Освобождение памяти с помощью функции, которая не соответствует функции выделения, может привести к повреждению памяти или неопределенному поведению. Если используется более старая версия Windows, неправильная функция может также вызвать проблемы совместимости с более новыми версиями.
Правильно объедините функции распределения и освобождения в соответствии с функциями, перечисленными в этой таблице.
| Функция распределения | Функция отмены назначения |
|---|---|
malloc() | free() |
realloc() | free() |
calloc() | free() |
_aligned_malloc() | _aligned_free() |
_aligned_offset_malloc() | _aligned_free() |
_aligned_realloc() | _aligned_free() |
_aligned_offset_realloc() | _aligned_free() |
_aligned_recalloc() | _aligned_free() |
_aligned_offset_recalloc() | _aligned_free() |
_malloca() | _freea() |
LocalAlloc() | LocalFree() |
LocalReAlloc() | LocalFree() |
GlobalAlloc() | GlobalFree() |
GlobalReAlloc() | GlobalFree() |
VirtualAlloc() | VirtualFree() |
VirtualAllocEx() | VirtualFreeEx() |
VirtualAllocExNuma() | VirtualFreeEx() |
HeapAlloc() | HeapFree() |
HeapReAlloc() | HeapFree() |
| Группа: Динамическая память |
| Язык: C | C++ |
| По умолчанию: Откл. |
Синтаксис командной строки:
WIN_MISMATCH_DEALLOC
|
| Воздействие: Низкий |
| CWE ID: 404, 762 |