rem: res.write(urls[i]); 
add: res.write(urls[i].replace(/\?/g, "\\\\?")); 
context: function referrers_action() {   if (req.data.permanent && session.user) {      try {         // FIXME: unfortunately, the check* methods are         // not very handy, anymore... (need try/catch block)         this.checkEdit(session.user, req.data.memberlevel);      } catch (err) {         res.message = err.toString();         res.redirect(this.href());         return;      }      var urls = req.data.permanent_array ?                 req.data.permanent_array : [req.data.permanent];      res.push();      res.write(this.preferences.getProperty("spamfilter"));      for (var i in urls) {         res.write("\n");         res.write(urls[i]);      }      this.preferences.setProperty("spamfilter", res.pop());      res.redirect(this.href(req.action));      return;   }   res.data.action = this.href("referrers");   res.data.title = getMessage("Site.referrersReadTitle", {siteTitle: this.title});   res.data.body = this.renderSkinAsString("referrers");   this.renderSkin("page");   return;}
meta: 993	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/993/5e10032a0240f0a7b09ba43c2799256595d55a94/actions.js/buggy/code/Site/actions.js