Project

General

Profile

Bug #7526

infinit loop in Registry::each_value

Added by first last about 4 years ago. Updated almost 4 years ago.

Status:
Assigned
Priority:
Normal
[ruby-core:50627]

Description

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)

History

#1 Updated by Usaku NAKAMURA almost 4 years ago

  • Status changed from Open to Assigned
  • Assignee set to Usaku NAKAMURA
  • Target version set to 2.0.0

#2 Updated by first last almost 4 years ago

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

#3 [ruby-core:52479] Updated by Yusuke Endoh almost 4 years ago

  • Target version changed from 2.0.0 to next minor

Let me know if there is any popular application that suffers from this issue.

--
Yusuke Endoh mame@tsg.ne.jp

Also available in: Atom PDF