[zebra] IRDP: Move stream_free to where its created, probably fixing a leak

2006-08-01 Paul Jakma <paul.jakma@sun.com>

	* irdp_main.c: (irdp_advertisement) free the stream here, when done,
	  right under where it was allocated so it's blindingly obvious
	  it's correct. This possibly fixes a very slow leak of streams in
	  zebra.
	* irdp_packet.c: (send_packet) don't free the stream here as
	  it's hard to tell if right, plus an error case seemed to
	  returning before free anyway.
This commit is contained in:
Paul Jakma 2006-08-04 06:18:04 +00:00
parent 7e4bcdc1d6
commit 3694374914
3 changed files with 13 additions and 3 deletions

View File

@ -8,6 +8,16 @@
* misc_null.c: Must include header files to get older versions of gcc
to process the #pragma statements properly.
2006-08-01 Paul Jakma <paul.jakma@sun.com>
* irdp_main.c: (irdp_advertisement) free the stream here, when done,
right under where it was allocated so it's blindingly obvious
it's correct. This possibly fixes a very slow leak of streams in
zebra.
* irdp_packet.c: (send_packet) don't free the stream here as
it's hard to tell if right, plus an error case seemed to
returning before free anyway.
2006-07-27 Paul Jakma <paul.jakma@sun.com>
* {ioctl,kernel}_null.c: Dummy/Null kernel method implementations,

View File

@ -224,7 +224,8 @@ static void irdp_advertisement (struct interface *ifp, struct prefix *p)
struct stream *s;
s = stream_new (128);
make_advertisement_packet (ifp, p, s);
irdp_send(ifp, p, s);
irdp_send(ifp, p, s);
stream_free (s);
}
int irdp_send_thread(struct thread *t_advert)

View File

@ -286,7 +286,7 @@ send_packet(struct interface *ifp,
u_long src;
int on;
if (!(ifp->flags & IFF_UP))
if (!(ifp->flags & IFF_UP))
return;
if (!p)
@ -311,7 +311,6 @@ send_packet(struct interface *ifp,
/* icmp->checksum is already calculated */
ip->ip_len = sizeof(struct ip) + stream_get_endp(s);
stream_free(s);
on = 1;
if (setsockopt(irdp_sock, IPPROTO_IP, IP_HDRINCL,