Re: empty array case in plperl_ref_from_pg_array not handled correctly

From: Andres Freund <andres(at)anarazel(dot)de>
To: Alex Hunsaker <badalex(at)gmail(dot)com>
Cc: Alexey Klyukin <alexk(at)hintbits(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: empty array case in plperl_ref_from_pg_array not handled correctly
Date: 2016-03-08 21:49:43
Message-ID: 20160308214943.epowgbajccugniee@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2016-03-08 02:11:03 -0700, Alex Hunsaker wrote:
> On Mon, Mar 7, 2016 at 11:32 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
>
> > Hi,
> >
> > Per the new valgrind animal we get:
> >
> >
> > http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=skink&dt=2016-03-08%2004%3A22%3A00
> > 2016-03-08 05:56:05.566 UTC [56de6971.723:5] LOG: statement: select
> > plperl_sum_array('{}');
> > ==1827== Invalid write of size 4
> > ==1827== at 0x14E35DD1: plperl_ref_from_pg_array (plperl.c:1459)
> >
> >

> [ I think you may have meant to CC me not Alexey K. I'm probably the person
> responsible :D. ]

I just took the first person mentioned in the commit message
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=87bb2ade2ce646083f39d5ab3e3307490211ad04
sorry for leaving you out ;)

> Recursive calls to split_array() should be fine as nested 0 dim arrays get
> collapsed down to single 0 dim array (I hand tested it nonetheless):
> # select ARRAY[ARRAY[ARRAY[]]]::int[];
> array
> ───────
> {}
> (1 row)
>
> Looking around, everything that makes an array seems to pass through
> plperl_ref_from_pg_array(), so I think once that is fixed all is good. I
> also looked for dimensions and ARR_NDIM() just to make sure (didn't find
> anything fishy).

Thanks for looking.

backpatched all the way.

Greetings,

Andres Freund

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2016-03-08 22:03:31 Re: pgbench small bug fix
Previous Message Robert Haas 2016-03-08 21:44:58 Re: GCC 6 warning fixes