From: Alan T. DeKok Date: Mon, 21 Dec 2009 13:16:45 +0000 (+0100) Subject: Fixed debian bug X-Git-Tag: release_2_1_8~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56b2924bbfddd6d9d2d65d201cc376634e44d0d3;p=thirdparty%2Ffreeradius-server.git Fixed debian bug --- diff --git a/debian/patches/rlm_perl.diff b/debian/patches/rlm_perl.diff deleted file mode 100644 index e243dcfb240..00000000000 --- a/debian/patches/rlm_perl.diff +++ /dev/null @@ -1,33 +0,0 @@ ---- 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; - } diff --git a/src/modules/rlm_perl/rlm_perl.c b/src/modules/rlm_perl/rlm_perl.c index 174e74dad4d..b1ae3fd9ff2 100644 --- a/src/modules/rlm_perl/rlm_perl.c +++ b/src/modules/rlm_perl/rlm_perl.c @@ -408,10 +408,13 @@ static int perl_instantiate(CONF_SECTION *conf, void **instance) 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 */ @@ -449,6 +452,7 @@ static int perl_instantiate(CONF_SECTION *conf, void **instance) 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 !"); @@ -970,6 +974,7 @@ static int perl_detach(void *instance) perl_free(inst->perl); #endif + PERL_SYS_TERM(); free(inst); return exitstatus; }