From 3d2f21a2ce43dc017ff1f952e0cd04e4925936cd Mon Sep 17 00:00:00 2001 From: chrysn Date: Sun, 17 Nov 2013 12:22:56 +0100 Subject: [PATCH] fix segfault when removing the only element in the send queue --- net.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net.c b/net.c index d23c8719..35b1c92c 100644 --- a/net.c +++ b/net.c @@ -738,7 +738,10 @@ coap_remove_from_queue(coap_queue_t **queue, coap_tid_t id, coap_queue_t **node) if ( id == (*queue)->id ) { /* found transaction */ *node = *queue; *queue = (*queue)->next; - (*queue)->t += (*node)->t; /* adjust relative time of new queue head */ + if (*queue != NULL) + { + (*queue)->t += (*node)->t; /* adjust relative time of new queue head */ + } (*node)->next = NULL; /* coap_delete_node( q ); */ debug("*** removed transaction %u\n", id);