summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_flood.c
diff options
context:
space:
mode:
authorThomas Ries <tries@gmx.net>2011-10-27 15:43:38 +0200
committerDenis Ovsienko <infrastation@yandex.ru>2011-11-15 17:50:48 +0100
commit4de148e5d6f6f7885b2c0952a236a3bc3ec36250 (patch)
tree5360772467235934673f5b7e3c039424bcc61329 /ospfd/ospf_flood.c
parentbgpd: revised fix to --dryrun (BZ#622) (diff)
downloadfrr-4de148e5d6f6f7885b2c0952a236a3bc3ec36250.tar.xz
frr-4de148e5d6f6f7885b2c0952a236a3bc3ec36250.zip
ospfd: improve fix to CVE-2011-3326 (BZ#586)
Make ospf_flood() propagate error returned by ospf_lsa_install() further to properly discard the malformed LSA, not just prevent the immediate crash.
Diffstat (limited to 'ospfd/ospf_flood.c')
-rw-r--r--ospfd/ospf_flood.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ospfd/ospf_flood.c b/ospfd/ospf_flood.c
index 004ed1a77..2ebae89ac 100644
--- a/ospfd/ospf_flood.c
+++ b/ospfd/ospf_flood.c
@@ -320,7 +320,7 @@ ospf_flood (struct ospf *ospf, struct ospf_neighbor *nbr,
MinLSArrival seconds have elapsed. */
if (! (new = ospf_lsa_install (ospf, nbr->oi, new)))
- return 0; /* unknown LSA type */
+ return -1; /* unknown LSA type or any other error condition */
/* Acknowledge the receipt of the LSA by sending a Link State
Acknowledgment packet back out the receiving interface. */