[DBD::Pg] Mortalise destringifed arrayref before sv_setsv()
[email protected] Tue, 23 Dec 2014 11:19:14 +0000
| Newsgroups | perl.dbd.pg.changes |
|---|---|
| Message-ID | <[email protected]> |
Committed by =?UTF-8?q?Dagfinn=20Ilmari=20Manns=C3=A5ker?= <[email protected]> Mortalise destringifed arrayref before sv_setsv() sv_setsv copies the reference, so we need to make sure the original one gets freed and we don't leak the array --- dbdimp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbdimp.c b/dbdimp.c index 40c62fa..022058b 100644 --- a/dbdimp.c +++ b/dbdimp.c @@ -3648,7 +3648,7 @@ AV * dbd_st_fetch (SV * sth, imp_sth_t * imp_sth) if (type_info && 0 == strncmp(type_info->arrayout, "array", 5) && imp_dbh->expand_array) { - sv_setsv(sv, pg_destringify_array(aTHX_ imp_dbh, value, type_info)); + sv_setsv(sv, sv_2mortal(pg_destringify_array(aTHX_ imp_dbh, value, type_info))); } else { if (type_info) { -- 1.8.4