Re: TransactionIdGetCommitTsData and its dereferenced pointers - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: TransactionIdGetCommitTsData and its dereferenced pointers
Date
Msg-id 20150821174221.GZ5232@alvherre.pgsql
Whole thread Raw
In response to TransactionIdGetCommitTsData and its dereferenced pointers  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
Michael Paquier wrote:

> TransactionIdGetCommitTsData@commit_ts.c does the following:
>     if (ts)
>         *ts = entry.time;
>     [...]
>     return *ts != 0;
> This is a bad idea, because if TransactionIdGetCommitTsData is called
> with ts == NULL this would simply crash. It seems to me that it makes
> little sense to have ts == NULL either way because this function is
> intended to return a timestamp in any case, hence I think that we
> should simply Assert(ts == NULL) and remove those checks.

I pushed this.  But without the assert, because it's pointless: if the
passed pointer were indeed null, we would still crash later in the
function, getting the same effect as the assert.

Thanks,

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: Warnings around booleans
Next
From: Tom Lane
Date:
Subject: Re: Warnings around booleans