From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix corner-case coredump in _SPI_error_callback(). |
Date: | 2017-12-11 21:34:40 |
Message-ID: | E1eOVii-0000eY-Vu@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix corner-case coredump in _SPI_error_callback().
I noticed that _SPI_execute_plan initially sets spierrcontext.arg = NULL,
and only fills it in some time later. If an error were to happen in
between, _SPI_error_callback would try to dereference the null pointer.
This is unlikely --- there's not much between those points except
push-snapshot calls --- but it's clearly not impossible. Tweak the
callback to do nothing if the pointer isn't set yet.
It's been like this for awhile, so back-patch to all supported branches.
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/7eb16ab17d5c01b293aad35f0843e5f3a9a64080
Modified Files
--------------
src/backend/executor/spi.c | 3 +++
1 file changed, 3 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-12-11 21:34:41 | pgsql: Fix corner-case coredump in _SPI_error_callback(). |
Previous Message | Robert Haas | 2017-12-11 17:52:22 | pgsql: Improve comment about PartitionBoundInfoData. |