Clean up several SA warnings.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
if(channels_len >= 0) {
accumulate_byte(ifp, 2);
accumulate_byte(ifp, channels_len);
- accumulate_bytes(ifp, channels, channels_len);
+
+ if (channels && channels_len > 0)
+ accumulate_bytes(ifp, channels, channels_len);
}
end_message(ifp, MESSAGE_UPDATE, 10 + (real_plen + 7) / 8 - omit +
channels_size);
#endif /* HAVE_STRUCT_SOCKADDR_SA_LEN */
*ifindex = pi6->ipi6_ifindex;
+
+ /* Set scope ID for link local addresses. */
+ if (IN6_IS_ADDR_LINKLOCAL(
+ &peer->sa_sin6.sin6_addr))
+ peer->sa_sin6.sin6_scope_id = *ifindex;
+ if (IN6_IS_ADDR_LINKLOCAL(
+ &local->sa_sin6.sin6_addr))
+ local->sa_sin6.sin6_scope_id = *ifindex;
}
}
}
- /* Set scope ID for link local addresses. */
- if (IN6_IS_ADDR_LINKLOCAL(&peer->sa_sin6.sin6_addr))
- peer->sa_sin6.sin6_scope_id = *ifindex;
- if (IN6_IS_ADDR_LINKLOCAL(&local->sa_sin6.sin6_addr))
- local->sa_sin6.sin6_scope_id = *ifindex;
-
return mlen;
}
bgp_path_info_mpath_get(struct bgp_path_info *path)
{
struct bgp_path_info_mpath *mpath;
+
+ if (!path)
+ return NULL;
+
if (!path->mpath) {
mpath = bgp_path_info_mpath_new();
if (!mpath)
list_delete_node(mp_list, mp_node);
bgp_path_info_mpath_dequeue(cur_mpath);
if ((mpath_count < maxpaths)
+ && prev_mpath
&& bgp_path_info_nexthop_cmp(prev_mpath,
cur_mpath)) {
bgp_path_info_mpath_enqueue(prev_mpath,
break;
}
+ memset(&pfx_un1, 0, sizeof(pfx_un1));
+ memset(&pfx_un2, 0, sizeof(pfx_un2));
+
/*
* UN address comparisons
*/
}
}
- if (!pfx_un1.family || !pfx_un2.family)
+ if (pfx_un1.family == 0 || pfx_un2.family == 0)
return 0;
if (pfx_un1.family != pfx_un2.family)
va_list args;
ssize_t len;
char buf[1024];
- char *p = buf;
+ char *p = NULL;
char *filtered;
if (vty->frame_pos) {
}
break;
default:
- if (!key)
+ if (!key || !key->ptr)
break;
switch (key->ptr[0]) {
memset(&addr, 0, sizeof(struct sockaddr_un));
addr.sun_family = AF_UNIX;
- strncpy(addr.sun_path, path, sizeof(addr.sun_path) - 1);
+ strlcpy(addr.sun_path, path, sizeof(addr.sun_path));
ret = connect(fd, (struct sockaddr *)&addr,
sizeof(addr.sun_family) + strlen(addr.sun_path));
zlog_debug("turn off %s", ifp->name);
/* Leave from multicast group. */
- ripng_multicast_leave(ifp, ripng->sock);
+ if (ripng)
+ ripng_multicast_leave(ifp, ripng->sock);
ri->running = 0;
}