Re: empty array case in plperl_ref_from_pg_array not handled correctly
От | Oleksii Kliukin |
---|---|
Тема | Re: empty array case in plperl_ref_from_pg_array not handled correctly |
Дата | |
Msg-id | 36414960-17FB-428C-B755-EA3231BAFA0B@hintbits.com обсуждение исходный текст |
Ответ на | Re: empty array case in plperl_ref_from_pg_array not handled correctly (Alex Hunsaker <badalex@gmail.com>) |
Список | pgsql-hackers |
On 08 Mar 2016, at 10:11, Alex Hunsaker <badalex@gmail.com> 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. ]Indeed, I think the simplest fix is to make plperl_ref_from_pg_array() return an "empty" array in that case. The attached fixes the valgrind warning for me. (cassert enabled build on master).
Looks good to me, thank you. Judging from the size in the error message it’s likely the
info->nelems[0] = items
line that caused this issue. The patch fixes it at first glance, although I have yet to make my valgrind setup on OS X working to check this for real :-)
--
Oleksii
В списке pgsql-hackers по дате отправления: