update_group_adjust_peer_afs (struct peer *peer)
{
struct peer_af *paf;
- afi_t afi;
+ enum bgp_af_index afi;
PEERAF_FOREACH (peer, paf, afi) update_group_adjust_peer (paf);
}
update_group_remove_peer_afs (struct peer *peer)
{
struct peer_af *paf;
- afi_t afi;
+ enum bgp_af_index afi;
PEERAF_FOREACH (peer, paf, afi)
update_subgroup_remove_peer (PAF_SUBGRP (paf), paf);
bgp_announce_peer (struct peer *peer)
{
struct peer_af *paf;
- int af;
+ enum bgp_af_index af;
PEERAF_FOREACH (peer, paf, af) subgroup_announce_all (PAF_SUBGRP (paf));
}
}
while((c = read (sav, buffer, 512)) > 0)
- write (tmp, buffer, c);
-
+ {
+ if (write (tmp, buffer, c) <= 0)
+ {
+ free (fullpath_sav);
+ free (fullpath_tmp);
+ close (sav);
+ close (tmp);
+ return NULL;
+ }
+ }
close (sav);
close (tmp);
{
if (! IS_DIRECTORY_SEP (config_file[0]))
{
- getcwd (cwd, MAXPATHLEN);
+ if (getcwd (cwd, MAXPATHLEN) == NULL)
+ {
+ fprintf (stderr, "Failure to determine Current Working Directory %d!\n", errno);
+ exit (1);
+ }
tmp = XMALLOC (MTYPE_TMP,
strlen (cwd) + strlen (config_file) + 2);
sprintf (tmp, "%s/%s", cwd, config_file);
if (((vty = vector_slot (vtyvec, i)) != NULL) && vty->monitor)
/* N.B. We don't care about the return code, since process is
most likely just about to die anyway. */
- writev(vty->fd, iov, 2);
+ if (writev(vty->fd, iov, 2) == -1)
+ {
+ fprintf(stderr, "Failure to writev: %d\n", errno);
+ exit(-1);
+ }
}
}
if (!c)
{
- chdir (SYSCONFDIR);
- getcwd (cwd, MAXPATHLEN);
+ /*
+ * At this point if these go wrong, more than likely
+ * the whole world is coming down around us
+ * Hence not worrying about it too much.
+ */
+ if (!chdir (SYSCONFDIR))
+ {
+ fprintf(stderr, "Failure to chdir to %s, errno: %d\n", SYSCONFDIR, errno);
+ exit(-1);
+ }
+ if (getcwd (cwd, MAXPATHLEN) == NULL)
+ {
+ fprintf(stderr, "Failure to getcwd, errno: %d\n", errno);
+ exit(-1);
+ }
}
vty_cwd = XMALLOC (MTYPE_TMP, strlen (cwd) + 1);
install_element (CONFIG_NODE, &router_id_cmd);
install_element (CONFIG_NODE, &no_router_id_cmd);
- memset (rid_all_sorted_list, 0, sizeof (rid_all_sorted_list));
- memset (rid_lo_sorted_list, 0, sizeof (rid_lo_sorted_list));
+ memset (rid_all_sorted_list, 0, sizeof (_rid_all_sorted_list));
+ memset (rid_lo_sorted_list, 0, sizeof (_rid_lo_sorted_list));
memset (&rid_user_assigned, 0, sizeof (rid_user_assigned));
rid_all_sorted_list->cmp = router_id_cmp;