Re: pgsql: Exclude unlogged tables from base backups

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David Steele <david(at)pgmasters(dot)net>
Cc: Teodor Sigaev <teodor(at)sigaev(dot)ru>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Exclude unlogged tables from base backups
Date: 2018-03-25 19:22:03
Message-ID: 3587.1522005723@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

David Steele <david(at)pgmasters(dot)net> writes:
> On 3/25/18 2:16 PM, Tom Lane wrote:
>> Buildfarm member skink (valgrind) has reported this during its last couple
>> of runs:

> I think skink is using large values for rel oids and that has exposed a
> bug. The strncpy doesn't zero terminate the string if the oid has the
> max number of characters. At least, I was able to reproduce under those
> circumstances.

Actually, that code didn't guarantee zero termination under *any*
circumstances; it only happened to work if the stack contained
zeroes to start with.

> The attached should fix it.

Found this in my inbox right after pushing a fix. I did it slightly
differently, emulating the later rather than earlier calls in reinit.c.
The earlier ones memset the whole target field because they're concerned
about being able to hash it, but we don't need that here, just zero
termination.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message David Steele 2018-03-25 19:46:48 Re: pgsql: Exclude unlogged tables from base backups
Previous Message Tom Lane 2018-03-25 19:16:35 Re: pgsql: Exclude unlogged tables from base backups