Re: Patch: Implement failover on libpq connect level. - Mailing list pgsql-hackers

From Mithun Cy
Subject Re: Patch: Implement failover on libpq connect level.
Date
Msg-id CAD__OujSGmLNZ_qw+v3aL-fDXxWSjrXd209+efGmZHMwzwTfdw@mail.gmail.com
Whole thread Raw
In response to Re: Patch: Implement failover on libpq connect level.  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Patch: Implement failover on libpq connect level.  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Wed, Oct 26, 2016 at 8:49 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> Let me know your thoughts.

One small issue. I tried to run make installcheck after applying patch there seems to be a invalid write access in code (resulting in crash).

==118997== Invalid write of size 1
==118997==    at 0x4E3DDF1: connectOptions2 (fe-connect.c:884)
==118997==    by 0x4E3D6FF: PQconnectStartParams (fe-connect.c:608)
==118997==    by 0x4E3D553: PQconnectdbParams (fe-connect.c:465)
==118997==    by 0x413067: main (startup.c:245)
==118997==  Address 0x5dc4014 is 0 bytes after a block of size 4 alloc'd
==118997==    at 0x4C29BFD: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==118997==    by 0x4E3DD3C: connectOptions2 (fe-connect.c:880)
==118997==    by 0x4E3D6FF: PQconnectStartParams (fe-connect.c:608)
==118997==    by 0x4E3D553: PQconnectdbParams (fe-connect.c:465)
==118997==    by 0x413067: main (startup.c:245)

After locally fixing this by allocating an extra space for string terminal character. make installcheck  tests pass.
-(char *) malloc(sizeof(char) * (e - s));
+ (char *) malloc(sizeof(char) * (e - s + 1));

--
Thanks and Regards
Mithun C Y

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: [BUG] pg_basebackup from disconnected standby fails
Next
From: Claudio Freire
Date:
Subject: Re: CLUSTER, reform_and_rewrite_tuple(), and parallelism