我使用Coverity来检查一些使用TAILQ的代码。它是抱怨几个潜在的双释放和使用后释放,但我并不真正理解。我对TAILQ的使用是正确的,还是需要确保在删除最后一个元素(因此不会再次释放)之后,tqh_first被更新为NULL?TAILQ_REMOVE(head, elm, field) do { \} while (0)
#define TAILQ_FIR
伯克利在其中实现的FreeBSD非常有用,现在我有一个关于TAILQ_LAST宏的问题,请注意我所呈现的不同之处。原始代码struct name struct type **tqh_last; /* addr of last next element */ \ struct type **tqe_prev;