svn commit: r212064 - head/sys/boot/pc98/boot2

Kostik Belousov kostikbel at gmail.com
Tue Aug 31 19:51:34 UTC 2010


On Tue, Aug 31, 2010 at 06:11:50PM +0000, 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;
>  }
>  
>  static inline void

What is the undefined behaviour you are claiming there ?

Meaningful conversion from the integer type to a pointer type is
implementation-defined anyway.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20100831/c3c5dd4a/attachment.pgp


More information about the svn-src-all mailing list