From: Donald Sharp Date: Thu, 2 Feb 2017 01:38:02 +0000 (-0500) Subject: pimd: Fix broken switch statement X-Git-Tag: frr-3.0-branchpoint~51^2~2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=35661ffa0cbd25327b237e4518ac42a4043d1877;p=mirror%2Ffrr.git pimd: Fix broken switch statement Fix broken switch statement that would allow the case statement to fall through. Fix possible buffer overwrite. Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_register.c b/pimd/pim_register.c index 490a05be37..29b4e8a63b 100644 --- a/pimd/pim_register.c +++ b/pimd/pim_register.c @@ -132,6 +132,7 @@ pim_register_stop_recv (uint8_t *buf, int buf_size) upstream->join_state = PIM_UPSTREAM_PRUNE; pim_channel_del_oif (upstream->channel_oil, pim_regiface, PIM_OIF_FLAG_PROTO_PIM); pim_upstream_start_register_stop_timer (upstream, 0); + break; case PIM_UPSTREAM_JOIN_PENDING: upstream->join_state = PIM_UPSTREAM_PRUNE; pim_upstream_start_register_stop_timer (upstream, 0); @@ -152,10 +153,9 @@ pim_register_send (const uint8_t *buf, int buf_size, struct in_addr src, struct if (PIM_DEBUG_PIM_REG) { - char rp_str[INET_ADDRSTRLEN]; - strcpy (rp_str, inet_ntoa (rpg->rpf_addr.u.prefix4)); zlog_debug ("Sending %s %sRegister Packet to %s", - up->sg_str, null_register ? "NULL " : "", rp_str); + up->sg_str, null_register ? "NULL " : "", + inet_ntoa (rpg->rpf_addr.u.prefix4)); } ifp = rpg->source_nexthop.interface;