d3dx9_36/tests: Fix printing a NULL string
David Laight
david at l8s.co.uk
Wed Aug 31 14:13:40 CDT 2011
On Wed, Aug 31, 2011 at 05:18:57PM +0200, Joerg-Cyril.Hoehle at t-systems.com wrote:
> Bruno Haible was so kind to provide the following test run results:
>
> glibc SIGSEGV
> MacOS X 10.5 (null)
> FreeBSD 6.4 (null)
> OpenBSD 4.9 (null)
> AIX 7.1 empty
> HP-UX 11.31 empty
> IRIX 6.5 (null)
> OSF/1 5.1 (null)
> Solaris 10 SIGSEGV
> Cygwin (null)
> mingw (null)
>
> for printf("%s", NULL)
Some of the systems will have address zero valid and just read from
that address. Some will generate a non zero length string.
IIRC some very old OS (think vax and pdp11) arranged for address
zero to contain zero (possibly as part of the program header) so
that 'if (x && *x)' could be shortened to 'if (*x)'.
Allowing address zero be mapped (eg by mmap()) is a bad idea
as a kernel 'call through NULL ptr' can be used to escalate
privs.
David
--
David Laight: david at l8s.co.uk
More information about the wine-devel
mailing list