[PATCH] [DbgHelp]: be stricter when looping in symbol tables

Eric Pouech eric.pouech at orange.fr
Sat Apr 5 02:34:07 CDT 2008




A+
---

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


diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c
index 1153b10..6f2ded3 100644
--- a/dlls/dbghelp/msc.c
+++ b/dlls/dbghelp/msc.c
@@ -1322,6 +1322,7 @@ static int codeview_snarf(const struct msc_debug_info* msc_dbg, const BYTE* root
         const union codeview_symbol* sym = (const union codeview_symbol*)(root + i);
         length = sym->generic.len + 2;
         if (i + length > size) break;
+        if (!sym->generic.id || length < 4) break;
         if (length & 3) FIXME("unpadded len %u\n", length);
 
         switch (sym->generic.id)





More information about the wine-patches mailing list