pgsql: Fix off-by-one loop termination condition in pg_stat_get_subscri

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix off-by-one loop termination condition in pg_stat_get_subscri
Дата
Msg-id E1nyeyT-003BgX-DO@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix off-by-one loop termination condition in pg_stat_get_subscription().

pg_stat_get_subscription scanned one more LogicalRepWorker array entry
than is really allocated.  In the worst case this could lead to SIGSEGV,
if the LogicalRepCtx data structure is near the end of shared memory.
That seems quite unlikely though (thanks to the ordering of calls in
CreateSharedMemoryAndSemaphores) and we've heard no field reports of it.
A more likely misbehavior is one row of garbage data in the function's
result, but even that is not real likely because of the check that the
pid field matches some live backend.

Report and fix by Kuntal Ghosh.  This bug is old, so back-patch
to all supported branches.

Discussion: https://postgr.es/m/CAGz5QCJykEDzW6jQK6Yz7Qh_PMtD=95de_7QoocbVR2Qy8hWZA@mail.gmail.com

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/a36196972b77228882cab7838eed52c1a9154e4a

Modified Files
--------------
src/backend/replication/logical/launcher.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Don't fail on libpq-generated error reports in pg_amcheck.
Следующее
От: David Rowley
Дата:
Сообщение: pgsql: Harden Memoization code against broken data types