Re: pgsql: Exclude unlogged tables from base backups
От | David Steele |
---|---|
Тема | Re: pgsql: Exclude unlogged tables from base backups |
Дата | |
Msg-id | cf8a4117-0b15-9755-0af6-9eae53857fa7@pgmasters.net обсуждение исходный текст |
Ответ на | Re: pgsql: Exclude unlogged tables from base backups (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: pgsql: Exclude unlogged tables from base backups
|
Список | pgsql-committers |
On 3/25/18 3:22 PM, Tom Lane wrote: > David Steele <david@pgmasters.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. Interesting. strncpy() says it will pad the destination with NULLs when src is less than the size provided. Perhaps some compilers don't honor that? >> 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. Yeah, that's the way I would normally do it, but when I searched reinit.c the first few hits did memset() so I went with that. Thanks for taking care of it. -- -David david@pgmasters.net
В списке pgsql-committers по дате отправления: