`array_position...()` causes SIGSEGV

From: Junseok Yang <jsyang(at)bitnine(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: `array_position...()` causes SIGSEGV
Date: 2016-12-09 06:14:43
Message-ID: CAE+byMupUURYiZ6bKYgMZb9pgV1CYAijJGqWj-90W=nS7uEOeA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello hackers,

I met SIGSEGV when using `array_position()` with record type
arguments, so I've written a patch which corrects this problem. It
seems that `array_position...()` sets wrong memory context for the
cached function (in this case `record_eq()`) which is used to find a
matching element.

The problem is reproducable with the following query.

SELECT array_position(ids, (1, 1))
FROM (VALUES (ARRAY[(0, 0)]), (ARRAY[(1, 1)])) AS _(ids);

Attachment Content-Type Size
0001-Fix-memory-context-bugs-in-array_position.patch text/x-patch 2.0 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Venkata B Nagothi 2016-12-09 06:16:12 Re: Declarative partitioning - another take
Previous Message vinayak 2016-12-09 06:02:54 Re: Transactions involving multiple postgres foreign servers