top, fixed buffer length in utils.c

John Baldwin jhb at freebsd.org
Tue Feb 17 22:39:39 UTC 2015


On Thursday, February 12, 2015 3:22:45 pm John-Mark Gurney wrote:
> Erich Dollansky wrote this message on Thu, Feb 12, 2015 at 16:39 +0800:
> > Hi,
> > 
> > On Wed, 11 Feb 2015 19:39:24 -0800
> > John-Mark Gurney <jmg at funkthat.com> wrote:
> > 
> > > Erich Dollansky wrote this message on Thu, Feb 12, 2015 at 09:13
> > > +0800:
> > > > On Tue, 10 Feb 2015 17:14:41 -0600
> > > > Bob Willcox <bob at immure.com> wrote:
> > > > 
> > > > > On Mon, Feb 02, 2015 at 04:33:07PM -0800, John-Mark Gurney wrote:
> > > > > > Erich Dollansky wrote this message on Sun, Feb 01, 2015 at 17:51
> > > > > > +0800:
> > > > > > 
> > > > > > I guess adding:
> > > > > > CTASSERT(sizeof(int) <= 4);
> > > > > > 
> > > Feel free to submit a patch eliminating the size assumption...  I'll
> > > review and commit it if/when you do...
> > > 
> > did you add
> > 
> > CTASSERT(sizeof(int) <= 4);
> > 
> > already?
> > 
> > This would do as a message will popup when the problem finally arises.
> 
> Similar...
> 
> https://svnweb.freebsd.org/changeset/base/278560

Why not use sizeof(int) to size the array instead of adding the assert if you 
want it to really be future proof?

Each byte will generate at most 3 decimal chars, so

char buf[sizeof(int) * 3  + 1];

or some such (yes, this overestimates a bit).

-- 
John Baldwin


More information about the freebsd-stable mailing list