from_peer->last_event = last_evt;
from_peer->last_major_event = last_maj_evt;
peer->remote_id = from_peer->remote_id;
+
if (from_peer->hostname != NULL)
- peer->hostname = XSTRDUP(MTYPE_HOST, from_peer->hostname);
+ {
+ if (peer->hostname)
+ {
+ XFREE(MTYPE_HOST, peer->hostname);
+ peer->hostname = NULL;
+ }
+
+ peer->hostname = XSTRDUP(MTYPE_HOST, from_peer->hostname);
+ XFREE(MTYPE_HOST, from_peer->hostname);
+ from_peer->hostname = NULL;
+ }
+
if (from_peer->domainname != NULL)
- peer->domainname = XSTRDUP(MTYPE_HOST, from_peer->domainname);
+ {
+ if (peer->domainname)
+ {
+ XFREE(MTYPE_HOST, peer->domainname);
+ peer->domainname= NULL;
+ }
+
+ peer->domainname = XSTRDUP(MTYPE_HOST, from_peer->domainname);
+ XFREE(MTYPE_HOST, from_peer->domainname);
+ from_peer->domainname = NULL;
+ }
for (afi = AFI_IP; afi < AFI_MAX; afi++)
for (safi = SAFI_UNICAST; safi < SAFI_MAX; safi++)
str[len] = '\0';
if (peer->hostname != NULL)
- XFREE(MTYPE_HOST, peer->hostname);
+ {
+ XFREE(MTYPE_HOST, peer->hostname);
+ peer->hostname = NULL;
+ }
if (peer->domainname != NULL)
{