From: Herwin Weststrate Date: Mon, 22 Aug 2016 17:55:20 +0000 (+0200) Subject: Free rad_perlconf_hv in correct perl context X-Git-Tag: release_3_0_12~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=daf05fc79e3f4c55afe78f722654fd90d588520a;p=thirdparty%2Ffreeradius-server.git Free rad_perlconf_hv in correct perl context This should fix #1675 --- diff --git a/src/modules/rlm_perl/rlm_perl.c b/src/modules/rlm_perl/rlm_perl.c index 702b12d2a5b..28252c64346 100644 --- a/src/modules/rlm_perl/rlm_perl.c +++ b/src/modules/rlm_perl/rlm_perl.c @@ -1000,12 +1000,13 @@ static int mod_detach(void *instance) rlm_perl_t *inst = (rlm_perl_t *) instance; int exitstatus = 0, count = 0; - if (inst->rad_perlconf_hv != NULL) hv_undef(inst->rad_perlconf_hv); - if (inst->perl_parsed && inst->func_detach) { + if (inst->perl_parsed) { dTHXa(inst->perl); PERL_SET_CONTEXT(inst->perl); - { + if (inst->rad_perlconf_hv != NULL) hv_undef(inst->rad_perlconf_hv); + + if (inst->func_detach) { dSP; ENTER; SAVETMPS; PUSHMARK(SP);