Issue #7526 has been reported by rubyhack (first last).

----------------------------------------
Bug #7526: infinit loop in Registry::each_value
https://bugs.ruby-lang.org/issues/7526

Author: rubyhack (first last)
Status: Open
Priority: Normal
Assignee: 
Category: lib
Target version: 
ruby -v: All


in win32/registry.rb :
        begin
          type, data = read(subkey)
        rescue Error
          next
        end
the correction :
        rescue Error
          index += 1
          next
        end

I think that using Registry::info to get the number of values (also number of subkeys in each_key)
is a better solution so to skip problematic values.

also a limitation in Registry::read
      when REG_BINARY
        [ type, data ]

should be :
      when REG_BINARY, REG_NONE, REG_LINK, REG_RESOURCE_LIST, REG_RESOURCE_REQUIREMENTS_LIST
        [ type, data ]

instead of raising an exception for those types (in regedit.exe REG_NONE is equivalent to REG_BINARY)



-- 
http://bugs.ruby-lang.org/