summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isisd/isis_pdu.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c
index 7375a3eb..ffc67178 100644
--- a/isisd/isis_pdu.c
+++ b/isisd/isis_pdu.c
@@ -3033,7 +3033,19 @@ send_lsp (struct thread *thread)
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