Coverity Scan #1221454 In zebra/interface.c if_data could be null dereferenced without early check. Added if/else block to catch the problem before errors.
Signed-off-by: Morgan Stewart <[email protected]> --- zebra/interface.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/zebra/interface.c b/zebra/interface.c index 14c3e78..b4ac9ad 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -368,10 +368,15 @@ if_add_update (struct interface *ifp) struct zebra_if *if_data; if_data = ifp->info; - if (if_data->multicast == IF_ZEBRA_MULTICAST_ON) - if_set_flags (ifp, IFF_MULTICAST); - else if (if_data->multicast == IF_ZEBRA_MULTICAST_OFF) - if_unset_flags (ifp, IFF_MULTICAST); + if (if_data) + { + if (if_data->multicast == IF_ZEBRA_MULTICAST_ON) + if_set_flags (ifp, IFF_MULTICAST); + else if (if_data->multicast == IF_ZEBRA_MULTICAST_OFF) + if_unset_flags (ifp, IFF_MULTICAST); + } + else + zlog_debug("Interface %s without info pointer, probably not a sane state.", ifp->name); zebra_interface_add_update (ifp); -- 1.9.1 _______________________________________________ Quagga-dev mailing list [email protected] https://lists.quagga.net/mailman/listinfo/quagga-dev
