+++ /dev/null
---- freeradius-2.0.4+dfsg.orig/src/modules/rlm_perl/rlm_perl.c
-+++ freeradius-2.0.4+dfsg/src/modules/rlm_perl/rlm_perl.c
-@@ -717,10 +717,13 @@
- HV *rad_request_proxy_reply_hv;
- AV *end_AV;
-
-- char *embed[4];
-+ char **embed;
-+ char **envp = NULL;
- const char *xlat_name;
- int exitstatus = 0, argc=0;
-
-+ embed = rad_malloc(4*(sizeof(char *)));
-+ memset(embed, 0, sizeof(4*(sizeof(char *))));
- /*
- * Set up a storage area for instance data
- */
-@@ -749,6 +752,7 @@
- argc = 3;
- }
-
-+ PERL_SYS_INIT3(&argc, &embed, &envp);
- #ifdef USE_ITHREADS
- inst->perl = interp;
-
-@@ -1296,6 +1300,7 @@
- perl_free(inst->perl);
- #endif
-
-+ PERL_SYS_TERM();
- free(inst);
- return exitstatus;
- }
HV *rad_request_proxy_reply_hv;
AV *end_AV;
- char *embed[4];
+ char **embed;
+ char **envp = NULL;
const char *xlat_name;
int exitstatus = 0, argc=0;
+ embed = rad_malloc(4*(sizeof(char *)));
+ memset(embed, 0, sizeof(4*(sizeof(char *))));
/*
* Set up a storage area for instance data
*/
argc = 3;
}
+ PERL_SYS_INIT3(&argc, &embed, &envp);
#ifdef USE_ITHREADS
if ((inst->perl = perl_alloc()) == NULL) {
radlog(L_DBG, "rlm_perl: No memory for allocating new perl !");
perl_free(inst->perl);
#endif
+ PERL_SYS_TERM();
free(inst);
return exitstatus;
}