Adds a check if first call to strtok returns NULL in perl_xlat (closes: #218)
authorbjordanov <bjordanov>
Sat, 12 Mar 2005 09:35:53 +0000 (09:35 +0000)
committerbjordanov <bjordanov>
Sat, 12 Mar 2005 09:35:53 +0000 (09:35 +0000)
src/modules/rlm_perl/rlm_perl.c

index 1f6af2d..fa0d55c 100644 (file)
@@ -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;