From: Donald Sharp Date: Mon, 5 Sep 2016 12:31:46 +0000 (-0400) Subject: pimd: Fix SA warning X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~243 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=fb5d6e2f4176c36ef0c17676a93001968aa0a57a;p=mirror%2Ffrr.git pimd: Fix SA warning Restructure code to remove SA warning from clang build. For some reason, the Clang SA system thought that si.sin_port and si.sin_addr where not being set to anything. Fix this problem. Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_sock.c b/pimd/pim_sock.c index 4312fe73b2..8ba514a219 100644 --- a/pimd/pim_sock.c +++ b/pimd/pim_sock.c @@ -334,17 +334,14 @@ int pim_socket_recvfromto(int fd, uint8_t *buf, size_t len, if (to) { struct sockaddr_in si; socklen_t si_len = sizeof(si); - - ((struct sockaddr_in *) to)->sin_family = AF_INET; - 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); - } - else { - ((struct sockaddr_in *) to)->sin_port = si.sin_port; - ((struct sockaddr_in *) to)->sin_addr = si.sin_addr; - } + memset (&si, 0, sizeof (si)); + to->sin_family = AF_INET; + + pim_socket_getsockname(fd, (struct sockaddr *) &si, &si_len); + + to->sin_port = si.sin_port; + to->sin_addr = si.sin_addr; if (tolen) *tolen = sizeof(si);