Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Aug 2010 22:51:28 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
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:  <20100831195128.GC2396@deviant.kiev.zoral.com.ua>
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

--8/DAEFlfduWObZNP
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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
>=20
> Log:
>   Avoid directly manipulating a NULL pointer (which could result in
>   undefined behaviour) in sys/boot/pc98/boot2/boot2.c.
>  =20
>   Reviewed by:	nyan
>   Approved by:	rpaulo (mentor)
>=20
> Modified:
>   head/sys/boot/pc98/boot2/boot2.c
>=20
> Modified: head/sys/boot/pc98/boot2/boot2.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- 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 =3D (u_char *)PTOV(0);
> +    u_char *p =3D (u_char *)PTOV(0x401);
> =20
> -    return *(p + 0x401) * 128 * 1024 + *(u_int16_t *)(p + 0x594) * 1024 =
* 1024;
> +    return *p * 128 * 1024 + *(u_int16_t *)(p + (0x594 - 0x401)) * 1024 =
* 1024;
>  }
> =20
>  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.

--8/DAEFlfduWObZNP
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkx9XUAACgkQC3+MBN1Mb4iWNQCgvUwNOSdFWnakovIflx6KAOya
2YoAoNp2tIqHBhvjmwfNh6Iy4noI0306
=3k+I
-----END PGP SIGNATURE-----

--8/DAEFlfduWObZNP--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100831195128.GC2396>