diff options
author | Sergey Popov <pinkbyte@gentoo.org> | 2016-04-12 16:02:00 +0300 |
---|---|---|
committer | Sergey Popov <pinkbyte@gentoo.org> | 2016-04-12 16:15:10 +0300 |
commit | ca6d97524c94cc87abce4d9b3281d6e6be646838 (patch) | |
tree | bd4b018c237a6e71224f66cdc84f7ffaee08a105 /net-misc | |
parent | app-text/linuxdoc-tools: revbump to 0.9.71-r2 wrt bug 579490 (diff) | |
download | gentoo-ca6d97524c94cc87abce4d9b3281d6e6be646838.tar.gz gentoo-ca6d97524c94cc87abce4d9b3281d6e6be646838.tar.bz2 gentoo-ca6d97524c94cc87abce4d9b3281d6e6be646838.zip |
net-misc/quagga: revision bump
Fix NULL pointer dereference in ripd
Commited straight to stable
Reported-by: Sebastian Kricner <sebastian.kricner@tuxwave.net>
Acked-by: Sergey Popov <pinkbyte@gentoo.org>
Gentoo-Bug: 579386
Package-Manager: portage-2.2.28
RepoMan-Options: --force
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/quagga/files/quagga-1.0.20160315-ripd-null-pointer-fix.patch | 40 | ||||
-rw-r--r-- | net-misc/quagga/quagga-1.0.20160315-r1.ebuild (renamed from net-misc/quagga/quagga-1.0.20160315.ebuild) | 5 |
2 files changed, 44 insertions, 1 deletions
diff --git a/net-misc/quagga/files/quagga-1.0.20160315-ripd-null-pointer-fix.patch b/net-misc/quagga/files/quagga-1.0.20160315-ripd-null-pointer-fix.patch new file mode 100644 index 000000000000..e48c30410c7a --- /dev/null +++ b/net-misc/quagga/files/quagga-1.0.20160315-ripd-null-pointer-fix.patch @@ -0,0 +1,40 @@ +The rip_output_process function dereferenced a NULL +pointer. Core file examination showed that tmp_rinfo +was NULL on line 2435. Looking at the last diff +associated with this commit, it was obvious that +a formating mistake had been made in the loop over +the route nodes list of possible paths. + +Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> +Reported-by: Sebastian Kricner <sebastian.kricner@tuxwave.net> +--- + ripd/ripd.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/ripd/ripd.c b/ripd/ripd.c +index 82b1ada..0beb0e6 100644 +--- a/ripd/ripd.c ++++ b/ripd/ripd.c +@@ -2429,12 +2429,14 @@ rip_output_process (struct connected *ifc, struct sockaddr_in *to, + struct rip_info *tmp_rinfo = NULL; + + for (ALL_LIST_ELEMENTS_RO (list, listnode, tmp_rinfo)) +- if (tmp_rinfo->type == ZEBRA_ROUTE_RIP && +- tmp_rinfo->ifindex == ifc->ifp->ifindex) +- rinfo->metric_out = RIP_METRIC_INFINITY; +- if (tmp_rinfo->type == ZEBRA_ROUTE_CONNECT && +- prefix_match((struct prefix *)p, ifc->address)) +- rinfo->metric_out = RIP_METRIC_INFINITY; ++ { ++ if (tmp_rinfo->type == ZEBRA_ROUTE_RIP && ++ tmp_rinfo->ifindex == ifc->ifp->ifindex) ++ rinfo->metric_out = RIP_METRIC_INFINITY; ++ if (tmp_rinfo->type == ZEBRA_ROUTE_CONNECT && ++ prefix_match((struct prefix *)p, ifc->address)) ++ rinfo->metric_out = RIP_METRIC_INFINITY; ++ } + } + + /* Prepare preamble, auth headers, if needs be */ +-- +1.9.1 diff --git a/net-misc/quagga/quagga-1.0.20160315.ebuild b/net-misc/quagga/quagga-1.0.20160315-r1.ebuild index 949953c07726..b328a700fa7d 100644 --- a/net-misc/quagga/quagga-1.0.20160315.ebuild +++ b/net-misc/quagga/quagga-1.0.20160315-r1.ebuild @@ -34,7 +34,10 @@ DEPEND="${COMMON_DEPEND} RDEPEND="${COMMON_DEPEND} sys-apps/iproute2" -PATCHES=( "${FILESDIR}/${PN}-0.99.22.4-ipctl-forwarding.patch" ) +PATCHES=( + "${FILESDIR}/${PN}-0.99.22.4-ipctl-forwarding.patch" + "${FILESDIR}/${PN}-1.0.20160315-ripd-null-pointer-fix.patch" +) DISABLE_AUTOFORMATTING=1 DOC_CONTENTS="Sample configuration files can be found in /usr/share/doc/${PF}/samples |