[EMAIL PROTECTED] wrote:

> dougm       01/10/08 10:57:45
> 
>   Added:       xs/ModPerl/Util ModPerl__Util.h
>   Log:
>   new module for util functions
>   
>   Revision  Changes    Path
>   1.1                  modperl-2.0/xs/ModPerl/Util/ModPerl__Util.h
>   
>   Index: ModPerl__Util.h
>   ===================================================================
>   static MP_INLINE void mpxs_ModPerl__Util_untaint(pTHX_ I32 items,
>                                                    SV **MARK, SV **SP)
>   {
>       while (MARK <= SP) {
>           SvTAINTED_off(*MARK++);
>       }
>   }


This hangs in Apache::Registry tests, MARK never gets incremented.

This patch fixes things. But I'm interested to know why yours doesn't work?


Index: xs/ModPerl/Util/ModPerl__Util.h
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/ModPerl/Util/ModPerl__Util.h,v
retrieving revision 1.2
diff -u -r1.2 ModPerl__Util.h
--- xs/ModPerl/Util/ModPerl__Util.h     2001/10/08 23:44:17     1.2
+++ xs/ModPerl/Util/ModPerl__Util.h     2001/10/09 04:04:56
@@ -2,7 +2,8 @@
                                                   SV **MARK, SV **SP)
  {
      while (MARK <= SP) {
-        SvTAINTED_off(*MARK++);
+        SvTAINTED_off(*MARK);
+        MARK++; // cannot ++ while in SvTAINTED_off
      }
  }


-- 


_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/

Reply via email to