Обсуждение: pgsql: Fix multiple bugs and infelicities in pg_rewind.
Fix multiple bugs and infelicities in pg_rewind. Bugs all spotted by Coverity, including wrong realloc() size request and memory leaks. Cosmetic improvements by me. The usage of the global variable "filemap" here is still pretty awful, but at least I got rid of the gratuitous aliasing in several routines (which was helping to annoy Coverity, as well as being a bug risk). Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/c67f366fa9f748257861ee233b47b80eb5ffa857 Modified Files -------------- src/bin/pg_rewind/filemap.c | 60 +++++++++++++++++++++------------------ src/bin/pg_rewind/filemap.h | 24 ++++++---------- src/bin/pg_rewind/libpq_fetch.c | 4 +++ src/bin/pg_rewind/pg_rewind.c | 2 +- 4 files changed, 46 insertions(+), 44 deletions(-)
On Mon, Mar 30, 2015 at 9:02 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Fix multiple bugs and infelicities in pg_rewind. > > Bugs all spotted by Coverity, including wrong realloc() size request > and memory leaks. Cosmetic improvements by me. > > The usage of the global variable "filemap" here is still pretty awful, > but at least I got rid of the gratuitous aliasing in several routines > (which was helping to annoy Coverity, as well as being a bug risk). Coverity points out that a call to PQclear() in receiveFileChunks of libpq_fetch.c is missing as the result still leaks resources when status is PGRES_TUPLES_OK. Please see the patch attached. -- Michael
Вложения
On 04/12/2015 11:46 AM, Michael Paquier wrote: > On Mon, Mar 30, 2015 at 9:02 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Fix multiple bugs and infelicities in pg_rewind. >> >> Bugs all spotted by Coverity, including wrong realloc() size request >> and memory leaks. Cosmetic improvements by me. >> >> The usage of the global variable "filemap" here is still pretty awful, >> but at least I got rid of the gratuitous aliasing in several routines >> (which was helping to annoy Coverity, as well as being a bug risk). > > Coverity points out that a call to PQclear() in receiveFileChunks of > libpq_fetch.c is missing as the result still leaks resources when > status is PGRES_TUPLES_OK. Please see the patch attached. Applied, thanks. - Heikki