malloc返回的指针在NULLcheck时更改为NULL

时间:2019-01-13 11:04:28

标签: c malloc minix

我在程序的这一部分:

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吗?

0 个答案:

没有答案