On Wed, Mar 8, 2017 at 12:45 AM, Fujii Masao <masao.fu...@gmail.com> wrote:
> Hi,
>
> When I logged in PostgreSQL as non-superuser and ran
> ALTER PUBLICATION command, I got a segmentation fault.
> The code checking the owner of publication might have a bug.
>
> =# CREATE ROLE foo NOSUPERUSER LOGIN
> =# \c - foo
> => \dRp
>               List of publications
>  Name  |  Owner   | Inserts | Updates | Deletes
> -------+----------+---------+---------+---------
>  mypub | postgres | t       | t       | t
> => ALTER PUBLICATION mypub RENAME TO hoge;
>
> LOG:  server process (PID 80356) was terminated by signal 11: Segmentation 
> fault
> DETAIL:  Failed process was running: ALTER PUBLICATION mypub RENAME TO hoge;
>

This issue happen even ALTER SUBSCRIPTION. I guess the main cause is
that acl_kind of pg_publication and pg_subscription of ObjectProperty
array are not correct. These values should be set ACL_KIND_PUBLICATION
and ACL_KIND_SUBSCRIPTION instead of -1. Attached small patch fixes
this issue and adds regression test.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Attachment: fix_alter_pub_sub_rename.patch
Description: Binary data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to