From: "rubyhack (first last)" Date: 2012-12-24T18:12:03+09:00 Subject: [ruby-core:51112] [ruby-trunk - Bug #7526] infinit loop in Registry::each_value Issue #7526 has been updated by rubyhack (first last). rubyhack (first last) wrote: > the correction : > rescue Error > index += 1 > next > end that is: add only the line: "index += 1" to the lib and the bug is fixed ---------------------------------------- Bug #7526: infinit loop in Registry::each_value https://bugs.ruby-lang.org/issues/7526#change-35044 Author: rubyhack (first last) Status: Assigned Priority: Normal Assignee: usa (Usaku NAKAMURA) Category: lib Target version: 2.0.0 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/