Re: Segmentation fault during update inside ExecBRUpdateTriggers
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Piotr Gabriel Kosinski <pg.kosinski@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2019-08-15T23:35:39Z
Lists: pgsql-bugs
Attachments
- 0001-Fix-double-free-when-one-trigger-passes-OLD-to-anoth.patch (application/octet-stream) patch 0001
On Fri, Aug 16, 2019 at 11:26 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > I wrote: > > [ thinks some more... ] Actually, I'm beginning to recall that > > we made changes here because v11 plpgsql is capable of actually > > returning "trigtuple" where before it would always have made a copy. > > If that's accurate, then very likely the bug exists further back > > but requires some other PL than plpgsql to manifest. > > As I suspected ... the attached test case crashes 9.4 through 11. > We already had some problems in this area, which is why a suitable > trigger is already at hand in regress.c. Ah, I see. I had written a test patch that uses plpgsql (attached for posterity) but yours is better because it crashes more releases. I will now get out of your way :-) -- Thomas Munro https://enterprisedb.com
Commits
-
Prevent possible double-free when update trigger returns old tuple.
- cb0c79ae6231 9.5.20 landed
- afa71d9152a2 9.4.25 landed
- aed967d697de 11.6 landed
- 60886965a271 10.11 landed
- 1fe8d209ed84 9.6.16 landed
- 1ced082b95b3 13.0 landed
- 03813a50efa5 12.0 landed
-
Prevent dangling-pointer access when update trigger returns old tuple.
- 25b692568f42 11.0 cited