[#3292] dir.c --- Dir.chdir error handling — Johan Holmberg <holmberg@...>

55 messages 2004/08/21
[#3350] Re: [PATCH] dir.c --- Dir.chdir error handling — Yukihiro Matsumoto <matz@...> 2004/09/06

Hi, Johan,

[#3351] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/06

Hello.

[#3352] Re: [PATCH] dir.c --- Dir.chdir error handling — Yukihiro Matsumoto <matz@...> 2004/09/06

Hi,

[#3353] Re: [PATCH] dir.c --- Dir.chdir error handling — nobu.nokada@... 2004/09/06

Hi,

[#3354] Re: [PATCH] dir.c --- Dir.chdir error handling — Yukihiro Matsumoto <matz@...> 2004/09/06

Hi,

[#3356] Re: [PATCH] dir.c --- Dir.chdir error handling — nobu.nokada@... 2004/09/07

Hi,

[#3369] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/09

Sorry for late posting. Typhoon striked me.....

[#3372] Re: [PATCH] dir.c --- Dir.chdir error handling — nobu.nokada@... 2004/09/10

Hi,

[#3374] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/10

[#3376] Re: [PATCH] dir.c --- Dir.chdir error handling — nobu.nokada@... 2004/09/10

Hi,

[#3378] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/11

nobu.nokada@softhome.net wrote:

[#3383] Re: [PATCH] dir.c --- Dir.chdir error handling — nobu.nokada@... 2004/09/12

Hi,

[#3384] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/13

[#3385] Re: [PATCH] dir.c --- Dir.chdir error handling — Yukihiro Matsumoto <matz@...> 2004/09/13

Hi,

[#3386] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/13

[#3387] Re: [PATCH] dir.c --- Dir.chdir error handling — ts <decoux@...> 2004/09/13

>>>>> "H" == H Yamamoto <ocean@m2.ccsnet.ne.jp> writes:

[#3392] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/14

[#3393] Re: [PATCH] dir.c --- Dir.chdir error handling — Yukihiro Matsumoto <matz@...> 2004/09/14

Hi,

[#3394] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/14

[#3395] Re: [PATCH] dir.c --- Dir.chdir error handling — ts <decoux@...> 2004/09/14

>>>>> "H" == H Yamamoto <ocean@m2.ccsnet.ne.jp> writes:

[#3399] Re: [PATCH] dir.c --- Dir.chdir error handling — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/09/15

[#3403] Re: [PATCH] dir.c --- Dir.chdir error handling — ts <decoux@...> 2004/09/15

>>>>> "H" == H Yamamoto <ocean@m2.ccsnet.ne.jp> writes:

[#3404] Re: [PATCH] dir.c --- Dir.chdir error handling — Yukihiro Matsumoto <matz@...> 2004/09/15

Hi,

[#3405] Re: [PATCH] dir.c --- Dir.chdir error handling — ts <decoux@...> 2004/09/15

>>>>> "Y" == Yukihiro Matsumoto <matz@ruby-lang.org> writes:

[#3409] Re: [PATCH] dir.c --- Dir.chdir error handling — Yukihiro Matsumoto <matz@...> 2004/09/16

Hi,

[#3416] Re: [PATCH] dir.c --- Dir.chdir error handling — ts <decoux@...> 2004/09/16

>>>>> "Y" == Yukihiro Matsumoto <matz@ruby-lang.org> writes:

[#3303] URGENT: what's the bug reporting system now? — Dave Thomas <dave@...>

Hello!

14 messages 2004/08/25

1.8.1 gsub/CGI behavior I can't explain

From: "David A. Black" <dblack@...>
Date: 2004-08-22 15:59:15 UTC
List: ruby-core #3293
Hi --

I have no explanation for this, but here it is.

I have a gsub! call in a CGI script (part of RCRchive).  It has a
block, and the purpose is to filter out unacceptable tags from
user input:

      # GOOD == %w{ a pre code etc}

      @text.gsub!(/(<((\s*\/?\s*)(\w+)(\s+[^>]+)?)>)/) {
        if GOOD.include?($4.downcase.strip)              # line 85
          $1
        else
          "&lt;#{$2}&gt;"
        end
      }

My error log is full of error messages from calling downcase on nil at
line 85.  In other words, the match succeeds -- the block is called --
but $4 is nil.  ($4 is (/\w+/), which can never be nil if the match
succeeds.)

$1-$3 are also nil.  So is $~.  In other words: once inside the block,
all evidence of a match disappears.  

The error messages look like this (minus dates and IP addresses):

  Premature end of script headers: submitrcr.rb
  (eval):3:in `__send__': undefined method `downcase' 
    for nil:NilClass (NoMethodError)
  from (eval):3:in `gsub!'
  from /usr/local/lib/httpd/htdocs/rcrchive/utils.rb:85:in `initialize',

I don't understand the __send__, or the eval, neither of which are in
my code.  

It works fine with 1.9.0, and it works fine from the command line.
Nothing I've done makes it work with 1.8.1/CGI, except to re-match the
string inside the block.  

I'm sorry I haven't tracked down what's wrong, but after considerable
examination it looks like it's wrong enough that I should mention it.


David

-- 
David A. Black
dblack@wobblini.net


In This Thread

Prev Next