Date: Sun, 6 Aug 2000 22:32:22 -0700 (PDT) From: Kris Kennaway <kris@FreeBSD.org> To: Mike Heffner <spock@techfour.net> Cc: Kris Kennaway <kris@hub.freebsd.org>, audit@freebsd.org Subject: RE: catopen() patch Message-ID: <Pine.BSF.4.21.0008062231250.6484-100000@freefall.freebsd.org> In-Reply-To: <XFMail.20000805182805.mheffner@mailandnews.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 5 Aug 2000, Mike Heffner wrote: > We can still walk right off the end. Right you are! This isn't such a big deal since $NLSPATH isn't read if we;re setugid, but how does this patch look (relative to the one I already committed): Index: msgcat.c =================================================================== RCS file: /home/ncvs/src/lib/libc/nls/msgcat.c,v retrieving revision 1.22 diff -u -r1.22 msgcat.c --- msgcat.c 2000/08/05 04:56:43 1.22 +++ msgcat.c 2000/08/07 05:28:46 @@ -124,13 +124,14 @@ strcpy(cptr, nlspath); cptr[len] = ':'; cptr[len+1] = '\0'; + spcleft = sizeof(path); for (nlspath = cptr; *cptr; ++cptr) { if (*cptr == ':') { *cptr = '\0'; - for (pathP = path; *nlspath; ++nlspath) { + for (pathP = path; *nlspath && spcleft > 0; ++nlspath) { + spcleft = sizeof(path) - (pathP - path); if (*nlspath == '%') { - spcleft = sizeof(path) - (pathP - path); if (*(nlspath + 1) == 'L') { ++nlspath; if (strlcpy(pathP, lang, spcleft) >= spcleft) { Kris -- In God we Trust -- all others must submit an X.509 certificate. -- Charles Forsythe <forsythe@alum.mit.edu> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0008062231250.6484-100000>