Prevent wildcards from being accepted in filenames (NT mode)
David Laight
david at l8s.co.uk
Thu Nov 27 14:28:07 CST 2003
>
> According to the language definition, a constant 0 in
> a pointer context is converted into a null pointer at
> compile time.
Indeed even if the stored bit pattern for the 'NULL' pointer isn't
all zero [1], then the literal 0 denotates a NULL pointer.
So:
char *p = 0;
if (*(int *)&p != 0)
printf(...);
can call printf.
It is also valid to '#define NULL (void *)0' that value is compatible
with function pointers - even though a function pointer can't be assigned
to a 'void *' variable.
David
[1] I don't know of any such C implementation, but I some mainframe OS
have used the all 1 bit pattern for illegal pointers.
--
David Laight: david at l8s.co.uk
More information about the wine-devel
mailing list