Date: Mon, 18 Sep 1995 10:43:12 +0200 (MET DST) From: Christoph Kukulies <kuku@gilberto.physik.RWTH-Aachen.DE> To: julian@freefall.freebsd.org (Julian Elischer) Cc: hackers@freefall.freebsd.org Subject: Re: why is this not a bug in namei? Message-ID: <199509180843.KAA08948@gilberto.physik.RWTH-Aachen.DE> In-Reply-To: <199509180640.XAA05368@freefall.freebsd.org> from "Julian Elischer" at Sep 17, 95 11:40:19 pm
next in thread | previous in thread | raw e-mail | index | archive | help
>
>
> if ((cnp->cn_flags & HASBUF) == 0)
> MALLOC(cnp->cn_pnbuf, caddr_t, MAXPATHLEN, M_NAMEI, M_WAITOK);
> [....]
>
> if (error) {
> free(cnp->cn_pnbuf, M_NAMEI);
^^^^
Is this just a typo? Shouldn't it be a FREE() macro like below?
> ndp->ni_vp = NULL;
> return (error);
> [...]
> if (error) {
> FREE(cnp->cn_pnbuf, M_NAMEI);
> return (error);
> [....] (and more confusingly)
> if ((cnp->cn_flags & ISSYMLINK) == 0) {
> if ((cnp->cn_flags & (SAVENAME | SAVESTART)) == 0)
> FREE(cnp->cn_pnbuf, M_NAMEI);
> else
> cnp->cn_flags |= HASBUF;
> return (0);
> }
> [....]
> FREE(cnp->cn_pnbuf, M_NAMEI);
> }
>
> if HASBUF was set, we have freed something we didn't allocate..
> (whenever we get an error, by the looks of it..)
>
> luckily I can't actually see anywhere that HASBUF is used
> (can anyone?) but it looks wrong to me...
>
>
>
> julian
>
--Chris Christoph P. U. Kukulies kuku@gil.physik.rwth-aachen.de
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509180843.KAA08948>
