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.
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702051422.PAA14008>