From 26f4a16d435ca5e26fb5f8ed5fe03f7170659406 Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Sat, 8 Dec 2012 07:23:37 +0000 Subject: [PATCH] [0.2.x] fixed : ptr value sometimes is not extended to 64 bit format git-svn-id: https://pykd.svn.codeplex.com/svn@81698 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/vardata.cpp | 6 +++--- pykd/variant.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pykd/vardata.cpp b/pykd/vardata.cpp index aac55f6..a4ee4c3 100644 --- a/pykd/vardata.cpp +++ b/pykd/vardata.cpp @@ -53,7 +53,7 @@ void VarDataMemory::read(PVOID buffer, ULONG length, ULONG offset /*= 0*/) const ULONG64 VarDataMemory::readPtr( ULONG ptrSize ) const { - return ptrSize == 4 ? ptrDWord( m_addr ) : ptrQWord( m_addr ); + return addr64( ptrSize == 4 ? ptrDWord( m_addr ) : ptrQWord( m_addr ) ); } ////////////////////////////////////////////////////////////////////////////// @@ -100,9 +100,9 @@ void VarDataConst::read(PVOID buffer, ULONG length, ULONG offset /*= 0*/) const ULONG64 VarDataConst::readPtr( ULONG ptrSize ) const { - return ptrSize == 4 ? + return addr64( ptrSize == 4 ? boost::apply_visitor( VariantToULong64(), m_value ) : - boost::apply_visitor( VariantToULong(), m_value ); + boost::apply_visitor( VariantToULong(), m_value ) ); } ////////////////////////////////////////////////////////////////////////////////// diff --git a/pykd/variant.h b/pykd/variant.h index 38e4824..a431c5c 100644 --- a/pykd/variant.h +++ b/pykd/variant.h @@ -21,7 +21,7 @@ public: template std::string operator()(T i ) const { std::stringstream sstr; - sstr << std::hex << i; + sstr << std::hex << "0x" << i; return sstr.str(); } };