[ospfd] early-return in nsm_event missed LLDown event, fixes use after free

2006-07-06 Paul Jakma <paul.jakma@sun.com>

	* ospf_nsm.c: (ospf_nsm_event) LLDown event also results in nbr
	  being deleted, requires early-return too. Likely explains
	  some crash reports after interface events.
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 054935b..b4f7d3e 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,9 @@
+2006-07-06 Paul Jakma <paul.jakma@sun.com>
+
+	* ospf_nsm.c: (ospf_nsm_event) LLDown event also results in nbr
+	  being deleted, requires early-return too. Likely explains
+	  some crash reports after interface events.
+
 2006-07-04 Paul Jakma <paul.jakma@sun.com>
 
 	* ospf_nsm.c: (general) Various small cleanups from Andrew's
diff --git a/ospfd/ospf_nsm.c b/ospfd/ospf_nsm.c
index 11da503..fb736eb 100644
--- a/ospfd/ospf_nsm.c
+++ b/ospfd/ospf_nsm.c
@@ -857,7 +857,9 @@
 
   /* When event is NSM_KillNbr or InactivityTimer, the neighbor is
      deleted. */
-  if (event == NSM_KillNbr || event == NSM_InactivityTimer)
+  if (event == NSM_KillNbr 
+      || event == NSM_InactivityTimer
+      || event == NSM_LLDown)
     {
       if (IS_DEBUG_OSPF (nsm, NSM_EVENTS))
 	zlog_debug ("NSM[%s:%s]: neighbor deleted",