]> git.puffer.fish Git - matthieu/frr.git/commitdiff
pimd: Fix broken switch statement
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 2 Feb 2017 01:38:02 +0000 (20:38 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 2 Feb 2017 01:38:02 +0000 (20:38 -0500)
Fix broken switch statement that would
allow the case statement to fall through.

Fix possible buffer overwrite.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_register.c

index 490a05be37644441a0a2d114167ced99d13d0197..29b4e8a63b2169893d28d5622e2a89f9bd6a1417 100644 (file)
@@ -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;