1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-25 01:02:05 +03:00

Fix NULL pointer access in logical replication workers

From: Petr Jelinek <pjmodos@pjmodos.net>
This commit is contained in:
Peter Eisentraut
2017-01-23 12:33:27 -05:00
parent 6cffe54aef
commit 70c56a014e
2 changed files with 30 additions and 19 deletions

View File

@ -1218,6 +1218,22 @@ reread_subscription(void)
newsub = GetSubscription(MyLogicalRepWorker->subid, true);
/*
* Exit if the subscription was removed.
* This normally should not happen as the worker gets killed
* during DROP SUBSCRIPTION.
*/
if (!newsub)
{
ereport(LOG,
(errmsg("logical replication worker for subscription \"%s\" will "
"stop because the subscription was removed",
MySubscription->name)));
walrcv_disconnect(wrconn);
proc_exit(0);
}
/*
* Exit if connection string was changed. The launcher will start
* new worker.
@ -1248,22 +1264,6 @@ reread_subscription(void)
proc_exit(0);
}
/*
* Exit if the subscription was removed.
* This normally should not happen as the worker gets killed
* during DROP SUBSCRIPTION.
*/
if (!newsub)
{
ereport(LOG,
(errmsg("logical replication worker for subscription \"%s\" will "
"stop because the subscription was removed",
MySubscription->name)));
walrcv_disconnect(wrconn);
proc_exit(0);
}
/*
* Exit if the subscription was disabled.
* This normally should not happen as the worker gets killed