On 04/30/2014 06:39 PM, Andres Freund wrote:
Hi,

Coverity flagged a couple of issues that seem to worth addressing by
changing the code instead of ignoring them:

01) heap_xlog_update() looks to coverity as if it could trigger a NULL
     pointer dereference. That's because it thinks that oldtup.t_data is
     NULL if XLR_BKP_BLOCK(0) while reconstructing incremental
     tuples. That fortunately can't happen as incremental updates are
     only performed if the tuples are on the same page.
     Add an Assert().
02) Be a bit more consistent in what type to use for a size
     variable. Inconsequential, but more consistent.
03) Don't leak memory after connection aborts in pg_recvlogical.
04) Use a sensible parameter for memset() when randomizing memory in
     reorderbuffer. Inconsequential.

Could somebody please pick these up?

Committed, thanks.

I have to say, I am not particularly happy with the complexity of the
control flow in heap_xlog_update() :(.

Agreed :-(. It might be good to split it into two functions, one for same-page updates and another for others. And have two different WAL record structs for the cases, too.

- Heikki


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to