Date: Wed, 5 Feb 1997 15:22:40 +0100 (MET) From: Jean-Luc Richier <Jean-Luc.Richier@imag.fr> To: FreeBSD-gnats@freefall.freebsd.org, freebsd-bugs@freefall.freebsd.org Cc: Francis.Dupont@inria.fr Subject: Re: bin/2668: modification suggested for rarpd Message-ID: <199702051422.PAA14008@horus.imag.fr> In-Reply-To: FreeBSD-gnats@freefall.freebsd.org's message as of Feb 5, 5:40.
index | next in thread | raw e-mail
Dans votre courrier du 5 Feb 5:40 vous ecrivez :
>Thank you very much for your problem report.
>It has the internal identification `bin/2668'.
>The individual assigned to look at your
>bug is: freebsd-bugs.
>
>>Category: bin
>>Responsible: freebsd-bugs
>>Synopsis: modification suggested for rarpd
>>Arrival-Date: Wed Feb 5 05:40:02 PST 1997
Following a remark of Theo de Raadt <deraadt@theos.com> about a memory leak
in my suggested patch, here is a updated version
I hope this wille help you
*** rarpd.c.DIST Thu Mar 21 19:28:23 1996
--- rarpd.c Wed Feb 5 15:17:37 1997
***************
*** 193,198 ****
--- 193,203 ----
char *ifname;
{
struct if_info *p;
+ int fd;
+
+ fd = rarp_open(ifname);
+ if (fd < 0)
+ return;
p = (struct if_info *)malloc(sizeof(*p));
if (p == 0) {
***************
*** 202,208 ****
p->ii_next = iflist;
iflist = p;
! p->ii_fd = rarp_open(ifname);
lookup_eaddr(ifname, p->ii_eaddr);
lookup_ipaddr(ifname, &p->ii_ipaddr, &p->ii_netmask);
}
--- 207,213 ----
p->ii_next = iflist;
iflist = p;
! p->ii_fd = fd;
lookup_eaddr(ifname, p->ii_eaddr);
lookup_ipaddr(ifname, &p->ii_ipaddr, &p->ii_netmask);
}
***************
*** 317,322 ****
--- 322,331 ----
}
(void) strncpy(ifr.ifr_name, device, sizeof ifr.ifr_name);
if (ioctl(fd, BIOCSETIF, (caddr_t) & ifr) < 0) {
+ if (aflag) { /* for -a skip not ethernet interfaces */
+ close(fd);
+ return -1;
+ }
err(FATAL, "BIOCSETIF: %s", strerror(errno));
/* NOTREACHED */
}
***************
*** 327,332 ****
--- 336,345 ----
/* NOTREACHED */
}
if (dlt != DLT_EN10MB) {
+ if (aflag) { /* for -a skip not ethernet interfaces */
+ close(fd);
+ return -1;
+ }
err(FATAL, "%s is not an ethernet", device);
/* NOTREACHED */
}
--
Jean-Luc RICHIER (Jean-Luc.Richier@Imag.Fr richier@imag.fr)
Laboratoire Logiciels, Systemes et Reseaux (LSR-IMAG)
IMAG-CAMPUS, BP 53, F-38041 GRENOBLE Cedex 9
Tel : (33) 4 76 82 72 32 Fax : (33) 4 76 82 72 87
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702051422.PAA14008>
