Date: Sun, 15 May 2016 09:42:24 +1000 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Garrett Cooper <ngie@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r299770 - head/usr.sbin/bsnmpd/tools/libbsnmptools Message-ID: <20160515093254.R2601@besplex.bde.org> In-Reply-To: <201605142243.u4EMh75e071378@repo.freebsd.org> References: <201605142243.u4EMh75e071378@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 14 May 2016, Garrett Cooper wrote: > Log: > Fix up r299764 > > I meant to use nitems, not sizeof(..) with the destination buffer. Using sizeof(..) > on a pointer will always truncate the output in the destination buffer incorrectly > > Pointyhat to: ngie Er, this is pointier than before. nitems() is only valid on arrays. > Modified: head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c > ============================================================================== > --- head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c Sat May 14 22:40:35 2016 (r299769) > +++ head/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c Sat May 14 22:43:07 2016 (r299770) > @@ -264,7 +264,7 @@ add_filename(struct snmp_toolinfo *snmpt > > if (cut != NULL) > asn_append_oid(&(entry->cut), cut); > - strlcpy(fstring, filename, sizeof(fstring)); > + strlcpy(fstring, filename, nitems(fstring)); fstring is pointer to char, so nitems(fstring) = sizeof(char *) / 1 sizeof(char *) = accidentally the same wrong value as before. The old code using strlen() had a chance of being correct. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160515093254.R2601>