author | Brian Utterback <brian.utterback@oracle.com> |
Mon, 09 Nov 2015 17:42:03 -0800 | |
changeset 5170 | 970e0f411b42 |
permissions | -rw-r--r-- |
5170
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
1 |
This was reported to the Quagga community as bug 813. |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
2 |
https://bugzilla.quagga.net/show_bug.cgi?id=813 |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
3 |
The patch has been submitted and attached to that bug. |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
4 |
This patch may be removed if the version of Quagga is updated to a version |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
5 |
that has this bug fixed. |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
6 |
--- ospfd/ospf_apiserver.c |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
7 |
+++ ospfd/ospf_apiserver.c |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
8 |
@@ -375,6 +375,11 @@ ospf_apiserver_free (struct ospf_apiserv |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
9 |
|
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
10 |
} |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
11 |
|
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
12 |
+ if (apiserv->opaque_types) |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
13 |
+ { |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
14 |
+ list_delete (apiserv->opaque_types); |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
15 |
+ } |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
16 |
+ |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
17 |
/* Close connections to OSPFd. */ |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
18 |
if (apiserv->fd_sync > 0) |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
19 |
{ |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
20 |
@@ -978,10 +978,11 @@ ospf_apiserver_unregister_opaque_type (s |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
21 |
ospf_apiserver_flush_opaque_lsa (apiserv, lsa_type, opaque_type); |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
22 |
ospf_delete_opaque_functab (lsa_type, opaque_type); |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
23 |
|
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
24 |
/* Remove from list of registered opaque types */ |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
25 |
listnode_delete (apiserv->opaque_types, regtype); |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
26 |
+ XFREE(MTYPE_OSPF_APISERVER, regtype); |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
27 |
|
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
28 |
if (IS_DEBUG_OSPF_EVENT) |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
29 |
zlog_debug ("API: Del LSA-type(%d)/Opaque-type(%d)" |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
30 |
" from apiserv(%p), total#(%d)", |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
31 |
lsa_type, opaque_type, apiserv, |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
32 |
--- ospfd/ospfd.c |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
33 |
+++ ospfd/ospfd.c |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
34 |
@@ -633,7 +633,7 @@ ospf_area_free (struct ospf_area *area) |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
35 |
/* Cancel timer. */ |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
36 |
OSPF_TIMER_OFF (area->t_stub_router); |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
37 |
#ifdef HAVE_OPAQUE_LSA |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
38 |
- OSPF_TIMER_OFF (area->t_opaque_lsa_self); |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
39 |
+ ospf_opaque_type10_lsa_term (area); |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
40 |
#endif /* HAVE_OPAQUE_LSA */ |
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
41 |
|
970e0f411b42
19451112 Memory leaks in Quagga OSPF daemon
Brian Utterback <brian.utterback@oracle.com>
parents:
diff
changeset
|
42 |
if (OSPF_IS_AREA_BACKBONE (area)) |