Subject: Re: /etc/login.conf required to exist after user(8) changes
To: None <current-users@NetBSD.org>
From: Peter Seebach <seebs@plethora.net>
List: current-users
Date: 07/31/2005 05:08:40
In message <20050731095833.GB24014@drowsy.duskware.de>, Martin Husemann writes:
>On Sun, Jul 31, 2005 at 04:52:31AM -0500, Peter Seebach wrote:
>> Well, strictly speaking, it causes undefined behavior on all platforms, it's
>> just that on some platforms, the behavior is invariably "compare to the value
>> that used to be there, which hasn't changed and has the same meaning it always
>> did".

>I can't follow you. We are talking about comparing the pointer against NULL,
>not about dereferencing the pointer and looking at the value it used to
>point to, right?

Yes.

>The NULL value is magic enough so that this should work, segmented wiered arch
>or not.

It's not the NULL part that's at issue; it's that some processors trap if you
load an invalid address into an address register, and invalidate the addresses
of freed memory.  So it generates a processor trap, and the question of what
would happen if you got to the compare instruction is rendered irrelevant.

-s