Re: [PATCH] Use NULL instead of integer 0 in security/selinux/

From: Michael Poole
Date: Thu Jul 08 2004 - 10:01:24 EST


Richard B. Johnson writes:

> On Thu, 8 Jul 2004, P. Benie wrote:
>
>> False. "An integer constant expressions with the value 0, or such an
>> expression cast to type void *, is called a null pointer constant. If a
>> null pointer constant is assigned to or compared for equality with a
>> pointer, the constant is converted to a pointer of that type", and "Any
>> two null pointers shall compare equal."
>>
>> In other words, when you use 0 as a null pointer, you really do get a null
>> pointer. If you are working on an architecture where the bit pattern of
>> the integer 0 and null pointers are not the same, the compiler will
>> perform the appropriate conversion for you, so it is always correct to
>> define NULL as (void *)0.
>
> That's NOT what is says. It states that a NULL pointer is converted to
> the appropriate type before any comparison is made. It does NOT say
> that 0 is a valid null-pointer.

Could you please elaborate the rules of English in which "An integer
constant expresion with the value 0 [...] is called a null pointer
constant" does not mean that 0 is a null pointer? 0 is certainly an
integer constant expression with the value 0, so there must be
something extraordinarily subtle in the second half of the sentence.

Michael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/