【发布时间】:2020-10-20 07:57:37
【问题描述】:
在线出错
ptr = (PTR)(event->LINK.NEXT);
错误:无法访问内存中的指针。取消引用一个空的 pinter 事件->LINK.NEXT
将数据与 null 进行比较意味着 kernel->LINK.NEXT 可能为 null。 我可以看到为什么它会给出这个错误。但是如何更改代码以便不显示取消引用错误。
KERNEL(data);
event_ptr->VALUE = 0;
event_ptr->FLAGS = flags;
_int_disable();
if (kernel_data->LINK.NEXT == NULL) {
_QUEUE_INIT(&kernel_data->LINK, 0);
} /* Endif */
while (ptr != (PTR)(kernel_data->NEXT)) {
enable();
Juble()
return(MQX_EINVAL);
}
ptr = (PTR)(event->LINK.NEXT);
} /* Endwhile */
#endif
【问题讨论】:
标签: c pointers dereference rtos null-pointer