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

List:       wine-cvs
Subject:    Peter Urbanec : dbghelp: Prevent winedbg page faults when loading
From:       Alexandre Julliard <julliard () winehq ! org>
Date:       2011-04-29 16:09:18
Message-ID: E1QFqFq-0000nw-R7 () wine ! codeweavers ! com
[Download RAW message or body]

Module: wine
Branch: master
Commit: de4040699a014e4f594d498d749aca460556f38d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=de4040699a014e4f594d498d749aca460556f38d

Author: Peter Urbanec <winehq.org@urbanec.net>
Date:   Fri Apr 29 22:41:17 2011 +1000

dbghelp: Prevent winedbg page faults when loading some PDBs generated by the Intel C Compiler.

---

 dlls/dbghelp/msc.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c
index 9abd065..cab3338 100644
--- a/dlls/dbghelp/msc.c
+++ b/dlls/dbghelp/msc.c
@@ -1453,6 +1453,8 @@ static void codeview_snarf_linetab2(const struct msc_debug_info* msc_dbg, const
         switch (lt2->header)
         {
         case LT2_LINES_BLOCK:
+            /* Skip blocks that are too small - Intel C Compiler generates these. */
+            if (lt2->size_of_block < sizeof (struct codeview_lt2blk_lines)) break;
             lines_blk = (const struct codeview_lt2blk_lines*)lt2;
             /* FIXME: should check that file_offset is within the LT2_FILES_BLOCK we've seen */
             addr = codeview_get_address(msc_dbg, lines_blk->seg, lines_blk->start);



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

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