summaryrefslogtreecommitdiff
path: root/bgpd
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd')
-rw-r--r--bgpd/ChangeLog8
-rw-r--r--bgpd/bgp_network.c2
-rw-r--r--bgpd/bgp_packet.c30
-rw-r--r--bgpd/bgpd.c6
4 files changed, 18 insertions, 28 deletions
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index 02ca213c..25c4e37e 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -2,9 +2,15 @@
* bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE..
* bgp_network.c: (bgp_getsockname) ditto
+ (bgp_accept) use XSTRDUP
* bgp_routemap.c: (route_match_peer) ditto, als use a ret value and
remove one sockunion_free.
- * bgpd.c: (peer_delete) ditto
+ * bgpd.c: (peer_delete) ditto.
+ XFREE the correct memtype, not free.
+ (peer_create) use XSTRDUP
+ * bgp_packet.c: (bgp_stream_dup) deleted, stream_dup should be used
+ (various) update -> s/bgp_stream_dup/stream_dup
+
2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c
index b2708e7b..fb6b64df 100644
--- a/bgpd/bgp_network.c
+++ b/bgpd/bgp_network.c
@@ -112,7 +112,7 @@ bgp_accept (struct thread *thread)
/* Make peer's address string. */
sockunion2str (&su, buf, SU_ADDRSTRLEN);
- peer->host = strdup (buf);
+ peer->host = XSTRDUP (MTYPE_BGP_PEER_HOST, buf);
}
BGP_EVENT_ADD (peer, TCP_connection_open);
diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
index 9fa23e52..a5fc7499 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -99,22 +99,6 @@ bgp_packet_delete (struct peer *peer)
stream_free (stream_fifo_pop (peer->obuf));
}
-/* Duplicate packet. */
-struct stream *
-bgp_packet_dup (struct stream *s)
-{
- struct stream *new;
-
- new = stream_new (stream_get_endp (s));
-
- new->endp = s->endp;
- new->getp = s->getp;
-
- memcpy (new->data, s->data, stream_get_endp (s));
-
- return new;
-}
-
/* Check file descriptor whether connect is established. */
static void
bgp_connect_check (struct peer *peer)
@@ -232,7 +216,7 @@ bgp_update_packet (struct peer *peer, afi_t afi, safi_t safi)
if (! stream_empty (s))
{
bgp_packet_set_size (s);
- packet = bgp_packet_dup (s);
+ packet = stream_dup (s);
bgp_packet_add (peer, packet);
BGP_WRITE_ON (peer->t_write, bgp_write, peer->fd);
stream_reset (s);
@@ -279,7 +263,7 @@ bgp_update_packet_eor (struct peer *peer, afi_t afi, safi_t safi)
}
bgp_packet_set_size (s);
- packet = bgp_packet_dup (s);
+ packet = stream_dup (s);
bgp_packet_add (peer, packet);
stream_free (s);
return packet;
@@ -359,7 +343,7 @@ bgp_withdraw_packet (struct peer *peer, afi_t afi, safi_t safi)
stream_putw (s, 0);
}
bgp_packet_set_size (s);
- packet = bgp_packet_dup (s);
+ packet = stream_dup (s);
bgp_packet_add (peer, packet);
stream_reset (s);
return packet;
@@ -423,7 +407,7 @@ bgp_default_update_send (struct peer *peer, struct attr *attr,
/* Set size. */
bgp_packet_set_size (s);
- packet = bgp_packet_dup (s);
+ packet = stream_dup (s);
stream_free (s);
/* Dump packet if debug option is set. */
@@ -502,7 +486,7 @@ bgp_default_withdraw_send (struct peer *peer, afi_t afi, safi_t safi)
bgp_packet_set_size (s);
- packet = bgp_packet_dup (s);
+ packet = stream_dup (s);
stream_free (s);
/* Add packet to the peer. */
@@ -1056,7 +1040,7 @@ bgp_route_refresh_send (struct peer *peer, afi_t afi, safi_t safi,
}
/* Make real packet. */
- packet = bgp_packet_dup (s);
+ packet = stream_dup (s);
stream_free (s);
/* Add packet to the peer. */
@@ -1103,7 +1087,7 @@ bgp_capability_send (struct peer *peer, afi_t afi, safi_t safi,
length = bgp_packet_set_size (s);
/* Make real packet. */
- packet = bgp_packet_dup (s);
+ packet = stream_dup (s);
stream_free (s);
/* Add packet to the peer. */
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 87e6b444..881a3c7b 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -773,7 +773,7 @@ peer_create (union sockunion *su, struct bgp *bgp, as_t local_as,
/* Make peer's address string. */
sockunion2str (su, buf, SU_ADDRSTRLEN);
- peer->host = strdup (buf);
+ peer->host = XSTRDUP (MTYPE_BGP_PEER_HOST, buf);
/* Set up peer's events and timers. */
if (! active && peer_active (peer))
@@ -1136,7 +1136,7 @@ peer_delete (struct peer *peer)
/* Free allocated host character. */
if (peer->host)
- free (peer->host);
+ XFREE (MTYPE_BGP_PEER_HOST, peer->host);
/* Local and remote addresses. */
if (peer->su_local)
@@ -1146,7 +1146,7 @@ peer_delete (struct peer *peer)
/* Peer description string. */
if (peer->desc)
- XFREE (MTYPE_TMP, peer->desc);
+ XFREE (MTYPE_PEER_DESC, peer->desc);
bgp_sync_delete (peer);