From 606972e74b9501ed3c3528e1826625b0ed98037c Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sun, 21 Jul 2019 11:27:19 -0700 Subject: [PATCH] perl-module: Init and destroy for long strings in set_missing_values(). Otherwise long strings segfault. --- perl-module/PSPP.xs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/perl-module/PSPP.xs b/perl-module/PSPP.xs index f6655b8ded..c563b40f63 100644 --- a/perl-module/PSPP.xs +++ b/perl-module/PSPP.xs @@ -412,12 +412,15 @@ INIT: croak ("No more than 3 missing values are permitted"); for (i = 0; i < items - 1; ++i) - scalar_to_value (&val[i], ST(i+1), var); + make_value_from_scalar (&val[i], ST(i+1), var); CODE: struct missing_values mv; mv_init (&mv, var_get_width (var)); for (i = 0 ; i < items - 1; ++i ) - mv_add_value (&mv, &val[i]); + { + mv_add_value (&mv, &val[i]); + value_destroy (&val[i], var_get_width (var)); + } var_set_missing_values (var, &mv); -- 2.30.2