[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/kdecore/kernel
From:       Ralf Habacker <Ralf.Habacker () freenet ! de>
Date:       2009-03-31 21:30:03
Message-ID: 1238535003.923655.30538.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 947610 by habacker:

fixed crash on loading kdecore.dll with regsrv32

 M  +7 -0      kkernel_win.cpp  


--- trunk/KDE/kdelibs/kdecore/kernel/kkernel_win.cpp #947609:947610
@@ -360,6 +360,13 @@
         return subSystem; 
 
     PIMAGE_DOS_HEADER dosHeader = (PIMAGE_DOS_HEADER)0x00400000;
+
+    // the applications module base adresse in memory is normally 0x00400000. 
+    // When loading kdecore library from regsrv32 a different address (0x01000000) is used. 
+    // Check for this additional possible base address
+    if (IsBadReadPtr(dosHeader,sizeof(IMAGE_DOS_HEADER)))
+        dosHeader = (PIMAGE_DOS_HEADER)0x01000000;
+
     PIMAGE_NT_HEADERS ntHeader = (PIMAGE_NT_HEADERS) ((char *)dosHeader + dosHeader->e_lfanew);
     if (ntHeader->Signature != 0x00004550) 
     {
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic