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:
@ -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
|
||||
|
Reference in New Issue
Block a user