[~] fixed: infinity loop on x32, if passed into typedVarList() address is not cast to addr64-format. condition in for(): entryAddress != address

git-svn-id: https://pykd.svn.codeplex.com/svn@61625 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\EreTIk_cp 2011-02-18 10:43:35 +00:00
parent d389dd16a5
commit b091e32be0

View File

@ -97,7 +97,8 @@ loadTypedVarList( ULONG64 address, const std::string &moduleName, const std::str
ULONG64 entryAddress = 0; ULONG64 entryAddress = 0;
boost::python::list objList; boost::python::list objList;
address = addr64(address);
for( entryAddress = loadPtrByPtr( address ); entryAddress != address && entryAddress != NULL; entryAddress = loadPtrByPtr( entryAddress ) ) for( entryAddress = loadPtrByPtr( address ); entryAddress != address && entryAddress != NULL; entryAddress = loadPtrByPtr( entryAddress ) )
{ {
objList.append( containingRecord( entryAddress, moduleName, typeName, listEntryName ) ); objList.append( containingRecord( entryAddress, moduleName, typeName, listEntryName ) );