Date: Tue, 31 Aug 2010 15:37:51 -0400 From: John Baldwin <jhb@freebsd.org> To: Dimitry Andric <dim@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r212064 - head/sys/boot/pc98/boot2 Message-ID: <201008311537.51825.jhb@freebsd.org> In-Reply-To: <201008311811.o7VIBoC5037894@svn.freebsd.org> References: <201008311811.o7VIBoC5037894@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, August 31, 2010 2:11:50 pm Dimitry Andric wrote: > Author: dim > Date: Tue Aug 31 18:11:50 2010 > New Revision: 212064 > URL: http://svn.freebsd.org/changeset/base/212064 > > Log: > Avoid directly manipulating a NULL pointer (which could result in > undefined behaviour) in sys/boot/pc98/boot2/boot2.c. > > Reviewed by: nyan > Approved by: rpaulo (mentor) > > Modified: > head/sys/boot/pc98/boot2/boot2.c > > Modified: head/sys/boot/pc98/boot2/boot2.c > ============================================================================== > --- head/sys/boot/pc98/boot2/boot2.c Tue Aug 31 17:43:47 2010 (r212063) > +++ head/sys/boot/pc98/boot2/boot2.c Tue Aug 31 18:11:50 2010 (r212064) > @@ -187,9 +187,9 @@ xfsread(ino_t inode, void *buf, size_t n > static inline uint32_t > memsize(void) > { > - u_char *p = (u_char *)PTOV(0); > + u_char *p = (u_char *)PTOV(0x401); > > - return *(p + 0x401) * 128 * 1024 + *(u_int16_t *)(p + 0x594) * 1024 * 1024; > + return *p * 128 * 1024 + *(u_int16_t *)(p + (0x594 - 0x401)) * 1024 * 1024; > } Perhaps replace '(p + 0x594 - 0x401)' with just 'PTOV(0x594)'? I would actually find it cleaner to remove 'p' altogether perhaps: return (*(u_char *)PTOV(0x401) * 128 * 1024 + *(uint16_t *)PTOV(0x594) * 1024 * 1024); -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008311537.51825.jhb>