]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Some SA analysis fixes.
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 5 Aug 2016 07:23:33 +0000 (03:23 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:05 +0000 (20:26 -0500)
This commit addresses some SA issues found:

1) double set variables
2) value set but never used.
3) wrong return path used.

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

index 79932edb3565773475869c41946f33d84317da90..149d18df54a5f2feed1e7285ea7369b682acc7a2 100644 (file)
@@ -1134,9 +1134,6 @@ static int group_retransmit_sources(struct igmp_group *group,
   struct igmp_source   *src;
   int                   num_retransmit_sources_left = 0;
   
-  query_buf1_max_sources = (sizeof(query_buf1) - IGMP_V3_SOURCES_OFFSET) >> 2;
-  query_buf2_max_sources = (sizeof(query_buf2) - IGMP_V3_SOURCES_OFFSET) >> 2;
-  
   source_addr1 = (struct in_addr *)(query_buf1 + IGMP_V3_SOURCES_OFFSET);
   source_addr2 = (struct in_addr *)(query_buf2 + IGMP_V3_SOURCES_OFFSET);
 
index 2854b3d59d1624784865a60631ab81b9fb085f32..d0fe89b01bb9263de32c74ab47f1e6475b6d24b1 100644 (file)
@@ -107,7 +107,7 @@ pim_register_stop_recv (uint8_t *buf, int buf_size)
   l = pim_parse_addr_group (&group, buf, buf_size);
   buf += l;
   buf_size -= l;
-  l = pim_parse_addr_ucast (&source, buf, buf_size);
+  pim_parse_addr_ucast (&source, buf, buf_size);
   memset (&sg, 0, sizeof (struct prefix_sg));
   sg.src = source.u.prefix4;
   sg.grp = group.u.prefix4;
index a4155549c93780b249e72d4bcc56b27c8437ecf6..8f8f4f191fb635624228a6486826b16cef45411c 100644 (file)
@@ -334,7 +334,7 @@ int pim_socket_recvfromto(int fd, uint8_t *buf, size_t len,
     
     ((struct sockaddr_in *) to)->sin_family = AF_INET;
 
-    if (pim_socket_getsockname(fd, (struct sockaddr *) &si, &si_len)) {
+    if (pim_socket_getsockname(fd, (struct sockaddr *) &si, &si_len) != PIM_SOCK_ERR_NONE) {
       ((struct sockaddr_in *) to)->sin_port        = ntohs(0);
       ((struct sockaddr_in *) to)->sin_addr.s_addr = ntohl(0);
     }