указатель, возвращаемый изменениями malloc в NULL при NULLcheck - PullRequest
0 голосов
/ 13 января 2019

У меня есть эта часть моей программы:

ProcessItem *new_process = (ProcessItem *)malloc(sizeof(ProcessItem));
printf("%p, %d\n", new_process, errno);
if(NULL == new_process) {
  printf("%p, %d\n", new_process, errno);
  panic("SS: ProcessItem malloc failed.\n");
}

Где ProcessItem:

typedef struct ProcessItem{
struct ProcessItem *next_item;
endpoint_t ep;
SensitivityItem *process_sensitivities; /*iterate sensitivities for proc*/
} ProcessItem;

Теперь это странная часть: вывод для программы выглядит следующим образом: program output

Кто-нибудь знает, почему указатель new_process внезапно становится равным NULL?

...