Fix use of free in walsender error handling after a sysid mismatch.
Found via valgrind. The bug exists since the introduction of the walsender, so backpatch to 9.0. Andres Freund
This commit is contained in:
parent
8d6a07fa01
commit
3a8e9e977f
@ -152,6 +152,7 @@ libpqrcv_identify_system(TimeLineID *primary_tli)
|
|||||||
GetSystemIdentifier());
|
GetSystemIdentifier());
|
||||||
if (strcmp(primary_sysid, standby_sysid) != 0)
|
if (strcmp(primary_sysid, standby_sysid) != 0)
|
||||||
{
|
{
|
||||||
|
primary_sysid = pstrdup(primary_sysid);
|
||||||
PQclear(res);
|
PQclear(res);
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errmsg("database system identifier differs between the primary and standby"),
|
(errmsg("database system identifier differs between the primary and standby"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user