From: bjordanov Date: Sat, 12 Mar 2005 09:35:53 +0000 (+0000) Subject: Adds a check if first call to strtok returns NULL in perl_xlat (closes: #218) X-Git-Tag: release_2_0_0_pre1~1632 X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;h=8e62436a6581ddd0e75cd2ff375654b1256d8afa;p=freeradius.git Adds a check if first call to strtok returns NULL in perl_xlat (closes: #218) --- diff --git a/src/modules/rlm_perl/rlm_perl.c b/src/modules/rlm_perl/rlm_perl.c index 1f6af2d..fa0d55c 100644 --- a/src/modules/rlm_perl/rlm_perl.c +++ b/src/modules/rlm_perl/rlm_perl.c @@ -646,7 +646,7 @@ static int perl_xlat(void *instance, REQUEST *request, char *fmt, char * out, PERL_INST *inst= (PERL_INST *) instance; PerlInterpreter *perl; - char params[1024], *tmp_ptr, *ptr, *tmp; + char params[1024], *ptr, *tmp; int count, ret=0; STRLEN n_a; #ifndef USE_ITHREADS @@ -682,10 +682,9 @@ static int perl_xlat(void *instance, REQUEST *request, char *fmt, char * out, PUSHMARK(SP); - XPUSHs(sv_2mortal(newSVpv(ptr,0))); - - while ((tmp_ptr = strtok(NULL, " ")) != NULL) { - XPUSHs(sv_2mortal(newSVpv(tmp_ptr,0))); + while (ptr != NULL) { + XPUSHs(sv_2mortal(newSVpv(ptr,0))); + ptr = strtok(NULL, " "); } PUTBACK;