summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjardin <jardin>2005-03-02 22:43:26 +0000
committerjardin <jardin>2005-03-02 22:43:26 +0000
commitc1ba9e8a8ac0447e6f33d50b4b9e7a1e68307bf1 (patch)
treecff477f00b68f3fe7db18cfa384aac90825c96ab
parent719e97414a7ca1a4d49d72816b9e1bd2155d157d (diff)
Fix segfault when ospf6_create() is not called yet.
Thanks to Mohit Thakur.
-rw-r--r--ospf6d/ChangeLog6
-rw-r--r--ospf6d/ospf6_zebra.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog
index 38c74dc2..60519e64 100644
--- a/ospf6d/ChangeLog
+++ b/ospf6d/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-02 Vincent Jardin <Vincent.Jardin@6wind.com>
+
+ * ospf6_zebra.c: Fix core dump when router-id is provided with
+ an empty ospf6d.conf file (no context router ospf6) because
+ ospf6_create has not been called yet.
+
2005-01-25 Paul Jakma <paul@dishone.st>
* ospf6_asbr.c: Add "hsls" to the zroute_name const char array.
diff --git a/ospf6d/ospf6_zebra.c b/ospf6d/ospf6_zebra.c
index bdd3babc..bc15dff6 100644
--- a/ospf6d/ospf6_zebra.c
+++ b/ospf6d/ospf6_zebra.c
@@ -57,6 +57,9 @@ ospf6_router_id_update_zebra (int command, struct zclient *zclient,
zebra_router_id_update_read(zclient->ibuf,&router_id);
router_id_zebra = router_id.u.prefix4;
+ if (o == NULL)
+ return 0;
+
if (o->router_id == 0)
o->router_id = (u_int32_t) router_id_zebra.s_addr;