双向链表的安全删除节点

BOOL safe_unlink(NODE* node)
{
    
    
	//判断一下节点的前后节点是否被覆盖掉.可以避免掉堆溢出攻击
	if(node->blink->flink==node && node->flink->blink==node)
	{
    
    
		node->blink=flink=node->flink;
		node->flink->blink=node->blink;
		return true;
	}
	return false;
}

猜你喜欢

转载自blog.csdn.net/qq_41490873/article/details/108786005