From: SF/projects/mingw n. l. <min...@li...> - 2011-04-21 23:58:15
|
Bugs item #3278558, was opened at 2011-04-06 23:07 Message generated for change (Comment added) made by ir0nh34d You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=3278558&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: w32api Group: None >Status: Closed >Resolution: Accepted Priority: 5 Private: No Submitted By: Safety0ff (safety0ff) >Assigned to: Chris Sutcliffe (ir0nh34d) Summary: imagehlp.h wrong definition of PREAD_PROCESS_MEMORY_ROUTINE Initial Comment: PREAD_PROCESS_MEMORY_ROUTINE is incorrectly defined as: typedef BOOL(STDCALL*PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE ,LPCVOID,LPVOID,DWORD,LPDWORD); It should be as this: typedef BOOL (STDCALL *PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE, DWORD, PVOID, DWORD, PDWORD) This causes issues for cross platform applications. I used the following package for my w32api: w32api-3.15-1-mingw32-dev.tar.lzma ---------------------------------------------------------------------- Comment By: Chris Sutcliffe (ir0nh34d) Date: 2011-04-21 19:58 Message: Thank you for the report, I've committed a fix to CVS. ---------------------------------------------------------------------- Comment By: Safety0ff (safety0ff) Date: 2011-04-11 20:50 Message: I checked mingw-w64'sr imagehlp.h and it does not have this issue. It has been correct (w.r.t. to this issue) since its initial import. ---------------------------------------------------------------------- Comment By: Safety0ff (safety0ff) Date: 2011-04-10 23:53 Message: This is present in cygwin as well (but not wine, as seen in previous comment). ---------------------------------------------------------------------- Comment By: Safety0ff (safety0ff) Date: 2011-04-10 23:32 Message: This is still present in the latest source. Here is some more information with some links to corroborate my statements: See the remarks section here: http://msdn.microsoft.com/en-us/library/ms680559%28v=vs.85%29.aspx You will notice that it says for DbgHelp.h, but there is no mention of the stackwalking api here: http://msdn.microsoft.com/en-us/library/ms680181%28v=vs.85%29.aspx Though it is present in ImageHlp, and it identical to the one in DbgHelp (I've confirmed this in SDK headers). I've confirmed the definition in the first link (and the OP) of PREAD_PROCESS_MEMORY_ROUTINE with ms sdk headers. I believe this issue was introduced so that ReadProcessMemory ( http://msdn.microsoft.com/en-us/library/ms680553%28v=vs.85%29.aspx ) could be used as call back to StackWalk ( see remark at the bottom of http://msdn.microsoft.com/en-us/library/ms680650%28v=VS.85%29.aspx ) Misc.: Wine commit fixing this issue in their source (2007): http://www.winehq.org/pipermail/wine-patches/2007-September/043982.html ---------------------------------------------------------------------- Comment By: Safety0ff (safety0ff) Date: 2011-04-06 23:34 Message: Just to be clear, the issue is that the second parameter is defined as LPCVOID instead of DWORD. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=3278558&group_id=2435 |