Указатель, возвращенный в динамическое выделение, не проверяемое на NULL или nullptr значение
Этот дефект происходит, когда вы получаете доступ к динамически выделенной памяти без первой проверки если предшествующее выделение памяти, за которым следуют.
Когда память динамически выделяется с помощью malloc, calloc, или realloc, это возвращает значение NULL если требуемая память не доступна. Если код после выделения получает доступ к блоку памяти, не проверяя на этот NULL значение, этот доступ не защищен от отказов.
Проверяйте возвращаемое значение malloc, calloc, или realloc для NULL прежде, чем получить доступ к выделенной ячейке памяти.
int *ptr = malloc(size * sizeof(int));
if(ptr) /* Check for NULL */
{
/* Memory access through ptr */
}| Группа: Динамическая память |
| Язык: C | C++ |
| Значение по умолчанию: Off |
Синтаксис командной строки: UNPROTECTED_MEMORY_ALLOCATION |
| Удар: низко |
| ID CWE: 253, 690, 789 |