[PATCH] winedump: Fixed minidump processor revision decoding (Coverity) (RESUBMIT)

Marcus Meissner meissner at suse.de
Thu May 5 08:27:06 CDT 2011


Hi,

Code mixed up bytes and words. (previous submitted fix was incorrect and
incomplete).
CID 1461

Ciao, Marcus
---
 tools/winedump/minidump.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/winedump/minidump.c b/tools/winedump/minidump.c
index d860768..d66835c 100644
--- a/tools/winedump/minidump.c
+++ b/tools/winedump/minidump.c
@@ -267,12 +267,12 @@ void mdmp_dump(void)
                 strcat(tmp, " (");
                 if (msi->ProcessorLevel == 3 || msi->ProcessorLevel == 4)
                 {
-                    if (HIWORD(msi->ProcessorRevision) == 0xFF)
-                        sprintf(tmp + strlen(tmp), "%c%d", 'A' + HIBYTE(LOWORD(msi->ProcessorRevision)), LOBYTE(LOWORD(msi->ProcessorRevision)));
+                    if (HIBYTE(msi->ProcessorRevision) == 0xFF)
+                        sprintf(tmp + strlen(tmp), "%c%d", 'A' + ((msi->ProcessorRevision>>12)&0xf)-0x0a, msi->ProcessorRevision&0xf);
                     else
-                        sprintf(tmp + strlen(tmp), "%c%d", 'A' + HIWORD(msi->ProcessorRevision), LOWORD(msi->ProcessorRevision));
+                        sprintf(tmp + strlen(tmp), "%c%d", 'A' + HIBYTE(msi->ProcessorRevision), LOBYTE(msi->ProcessorRevision));
                 }
-                else sprintf(tmp + strlen(tmp), "%d.%d", HIWORD(msi->ProcessorRevision), LOWORD(msi->ProcessorRevision));
+                else sprintf(tmp + strlen(tmp), "%d.%d", HIBYTE(msi->ProcessorRevision), LOBYTE(msi->ProcessorRevision));
                 str = tmp;
                 break;
             case PROCESSOR_ARCHITECTURE_MIPS:
-- 
1.7.1



More information about the wine-patches mailing list