[issue9937] _winreg.EnumValue causes MemoryError
Hirokazu Yamamoto
report at bugs.python.org
Fri Sep 24 18:56:29 CEST 2010
Hirokazu Yamamoto <ocean-city at m2.ccsnet.ne.jp> added the comment:
This happens because RegQueryInfoKeyA returns maximum value
name length not in *Ansi* characters but in *Unicode" characters.
I don't know clue why.
http://msdn.microsoft.com/en-us/library/ms724902%28VS.85%29.aspx
In multibyte environment, 2 or 3 bytes characters are
mapped to one size unicode. So usually, the length of *Ansi*
characters are larger than or equals to the length of *Unicode*
characters. If every Ansi characters are mapped to one size
Unicode, lengthes are equal, so probably this issue won't happen.
I'll attach the patch to fix this issue. But be care, this is not
tested so densely. At least, the script to reproduce this issue
ran fine.
----------
keywords: +patch
Added file: http://bugs.python.org/file18999/py27_winreg_EnumValue.patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9937>
_______________________________________
More information about the Python-bugs-list
mailing list