diff options
| author | Qi.Chen@windriver.com <Qi.Chen@windriver.com> | 2015-11-23 12:34:12 +0800 |
|---|---|---|
| committer | Joe MacDonald <joe_macdonald@mentor.com> | 2016-01-04 22:29:53 -0500 |
| commit | 83102891877bd857ff0267137c2bc72089cadbc3 (patch) | |
| tree | 0cddfd2947c4ae4ac282af5bfc22b799e8ed336d | |
| parent | 8d1ce255bc272b2f7e5c3332286e4a58d72026e5 (diff) | |
| download | meta-openembedded-83102891877bd857ff0267137c2bc72089cadbc3.tar.gz | |
quagga: fix segment fault when stopping ospf6d
In ospf6_clean, the variable ospf6 might be NULL causing segment fault
when stopping ospf6d. Check the variable before referencing it.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
| -rw-r--r-- | meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch | 28 | ||||
| -rw-r--r-- | meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch b/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch new file mode 100644 index 0000000000..f08bb572da --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | Upstream-Status: Pending | ||
| 2 | |||
| 3 | Subject: ospf6d: check ospf6 before using it in ospf6_clean | ||
| 4 | |||
| 5 | The ospf6 variable might be 'NULL' causing segment fault error. | ||
| 6 | Check it before referencing it. | ||
| 7 | |||
| 8 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 9 | --- | ||
| 10 | ospf6d/ospf6d.c | 2 ++ | ||
| 11 | 1 file changed, 2 insertions(+) | ||
| 12 | |||
| 13 | diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c | ||
| 14 | index 3cdd5c1..e3bf1af 100644 | ||
| 15 | --- a/ospf6d/ospf6d.c | ||
| 16 | +++ b/ospf6d/ospf6d.c | ||
| 17 | @@ -1892,6 +1892,8 @@ ospf6_init (void) | ||
| 18 | void | ||
| 19 | ospf6_clean (void) | ||
| 20 | { | ||
| 21 | + if (ospf6 == NULL) | ||
| 22 | + return; | ||
| 23 | if (ospf6->route_table) | ||
| 24 | ospf6_route_remove_all (ospf6->route_table); | ||
| 25 | if (ospf6->brouter_table) | ||
| 26 | -- | ||
| 27 | 1.9.1 | ||
| 28 | |||
diff --git a/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb b/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb index 09c4e7d286..cecf4385c1 100644 --- a/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb +++ b/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | require quagga.inc | 1 | require quagga.inc |
| 2 | 2 | ||
| 3 | SRC_URI += "file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \ | 3 | SRC_URI += "file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \ |
| 4 | file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \ | ||
| 4 | " | 5 | " |
| 5 | 6 | ||
| 6 | SRC_URI[md5sum] = "7986bdc2fe6027d4c9216f7f5791e718" | 7 | SRC_URI[md5sum] = "7986bdc2fe6027d4c9216f7f5791e718" |
