On 2016-03-08 02:11:03 -0700, Alex Hunsaker wrote:
> On Mon, Mar 7, 2016 at 11:32 PM, Andres Freund <andres@anarazel.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