svn commit: r237286 - head/lib/libc/gen

Colin Percival cperciva at freebsd.org
Wed Jun 20 16:37:36 UTC 2012


On 06/20/12 09:27, Bruce Evans wrote:
> On Wed, 20 Jun 2012, Eitan Adler wrote:
>> Log:
>>  Don't close an uninitialized descriptor. [1]
>>  Add a sanity check for the validity of the passed fd.
> 
> Library functions shouldn't use assert() or abort().

Why not?

> The fd is not passed, but is a static variable under syslog()'s control.

I understood "passed fd" to mean "fd we're passing to _close".

>> closelog(void)
>> {
>>     THREAD_LOCK();
>> -    (void)_close(LogFile);
>> -    LogFile = -1;
>> +    assert(LogFile >= -1);
> 
> Since this assert() can't fail (unless the CPU has a parity error or
> or the memory behind Logfile has a parity error or another memory error
> or was clobbered by a buffer overrun), this assert() doesn't break the
> library but just wastes space.

I asked eadler to include that on the basis that it made the code easier
to understand.

-- 
Colin Percival
Security Officer Emeritus, FreeBSD | The power to serve
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid


More information about the svn-src-all mailing list