* isisd/isis_pdu.c: (send_lsp) Handle case where there are no LSPs
on the LSP transmission queue. This can happen if, for instance,
the queue is cleared because of protocol events before the
send_lsp thread gets a chance to run.
return retval;
}
- lsp = listgetdata ((node = listhead (circuit->lsp_queue)));
+ node = listhead (circuit->lsp_queue);
+
+ /*
+ * Handle case where there are no LSPs on the queue. This can
+ * happen, for instance, if an adjacency goes down before this
+ * thread gets a chance to run.
+ */
+ if (!node)
+ {
+ return retval;
+ }
+
+ lsp = listgetdata(node);
/*
* Do not send if levels do not match