From ab630b28754fc4f88a6d182576ac530192086f3f Mon Sep 17 00:00:00 2001 From: likewise Date: Wed, 26 Mar 2003 10:59:31 +0000 Subject: [PATCH] Strong assert checking against queueing behaviour in udp_send(). --- src/core/udp.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/core/udp.c b/src/core/udp.c index 2144ae67..070cd375 100644 --- a/src/core/udp.c +++ b/src/core/udp.c @@ -415,14 +415,17 @@ udp_send(struct udp_pcb *pcb, struct pbuf *p) if (q != p) { /* chained header still in front of given pbuf? */ if (q->next == p) { - DEBUGF(UDP_DEBUG, ("udp_send: dechaining and freeing header pbuf\n")); + DEBUGF(UDP_DEBUG | DBG_TRACE | 2, ("udp_send: dechaining and freeing header pbuf %p\n", (void *)q)); /* detach the header prepended earlier */ pbuf_dechain(q); /* free the header */ pbuf_free(q); } else { - DEBUGF(UDP_DEBUG, ("udp_send: pbuf header not freed, seems to be queued.\n")); - } + /* the header now points to something else then the given pbuf */ + /* this can only happen if queueing is enabled */ + LWIP_ASSERT("ARP_QUEUEING == 1\n", ARP_QUEUEING == 1); + DEBUGF(UDP_DEBUG | DBG_TRACE | 2, ("udp_send: pbuf header %p not freed, seems queued.\n", (void *)q)); + } } #ifdef UDP_STATS