diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-08-08 10:29:02 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-08-08 10:29:02 +0000 |
commit | 8b5942801d0d947ffccb2e5ec250e6863db0d5d5 (patch) | |
tree | 31295491ae133b40e700bc1a20a78e71a27c0db7 /lib/resolv.rb | |
parent | 6297f4c8bc06ad4c49871601f11f28a0c38b1dc6 (diff) | |
download | ruby-8b5942801d0d947ffccb2e5ec250e6863db0d5d5.tar.gz |
* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder::get_string):
affected by str[0] returns 1 char string. [ruby-dev:29223]
* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder::get_labels):
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/resolv.rb')
-rw-r--r-- | lib/resolv.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/resolv.rb b/lib/resolv.rb index 300901fdf0..deceeaba30 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -1330,6 +1330,7 @@ class Resolv def get_unpack(template) len = 0 template.each_byte {|byte| + byte = "%c" % byte case byte when ?c, ?C len += 1 @@ -1348,7 +1349,7 @@ class Resolv end def get_string - len = @data[@index] + len = @data[@index].ord raise DecodeError.new("limit exceeded") if @limit < @index + 1 + len d = @data[@index + 1, len] @index += 1 + len @@ -1371,7 +1372,7 @@ class Resolv limit = @index if !limit || @index < limit d = [] while true - case @data[@index] + case @data[@index].ord when 0 @index += 1 return d |