summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Popov <pinkbyte@gentoo.org>2016-04-12 16:02:00 +0300
committerSergey Popov <pinkbyte@gentoo.org>2016-04-12 16:15:10 +0300
commitca6d97524c94cc87abce4d9b3281d6e6be646838 (patch)
treebd4b018c237a6e71224f66cdc84f7ffaee08a105 /net-misc
parentapp-text/linuxdoc-tools: revbump to 0.9.71-r2 wrt bug 579490 (diff)
downloadgentoo-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.patch40
-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