Subject: Re: /etc/login.conf required to exist after user(8) changes
To: Peter Seebach <seebs@plethora.net>
From: John Nemeth <jnemeth@victoria.tc.ca>
List: current-users
Date: 07/29/2005 04:49:47
On Dec 19, 1:08am, Peter Seebach wrote:
} In message <200507291103.j6TB3miD021103@vtn1.victoria.tc.ca>, John Nemeth write
} s:
} > I think more to the point, it is irrelevant that the pointer has
} >been freed. It will still contain the same value. The freeing
} >function can not modify the pointer itself; therefore, the second half
} >of the patch is completely unnecessary. Trying to use the data pointed
} >to by the pointer would be wrong; however, the original code doesn't do
} >this, it merely compares the pointer to NULL.
}
} To be picky, there exist C implementations where at least some, possibly
} all, pointers to freed space compare equal to NULL.
}
} However, there also exist platforms on which any reference to them, even
} a comparison to NULL, causes undefined behavior.
How can this be so? free() is a function, not an operator.
functions can not change the value of their paramters.
} If the pointer is freed, it should not be referenced, even to compare it
} to NULL.
Assuming the above is true, then I would accept this; however, I
don't understand how the above can be true. At least not without doing
weird things during function calls, which would break the symantecs of
the language.
}-- End of excerpt from Peter Seebach