[pkg-wine-party] [SCM] Debian Wine packaging branch, wheezy, updated. wine-1.4-7-302-gb61b690
Alexandre Julliard
julliard at winehq.org
Sun Jun 17 20:03:35 UTC 2012
The following commit has been merged in the wheezy branch:
commit 7d38e1c49f6f7653169571fe7502044e370f303f
Author: Eric Pouech <eric.pouech at orange.fr>
Date: Sun May 20 09:43:52 2012 +0200
dbghelp: Protect COFF line number parsing against out of bounds access.
(cherry picked from commit dbd70d09176129b5f76c921e1c6c1e18075319c2)
diff --git a/dlls/dbghelp/coff.c b/dlls/dbghelp/coff.c
index 54bd278..9f01fd2 100644
--- a/dlls/dbghelp/coff.c
+++ b/dlls/dbghelp/coff.c
@@ -424,26 +424,26 @@ DECLSPEC_HIDDEN BOOL coff_process_info(const struct msc_debug_info* msc_dbg)
* If we have spilled onto the next entrypoint, then
* bump the counter..
*/
- for (;;)
+ for (; l+1 < coff_files.files[j].neps; l++)
{
- if (l+1 >= coff_files.files[j].neps) break;
- symt_get_address(coff_files.files[j].entries[l+1], &addr);
- if (((msc_dbg->module->module.BaseOfImage + linepnt->Type.VirtualAddress) < addr))
+ if (symt_get_address(coff_files.files[j].entries[l+1], &addr) &&
+ msc_dbg->module->module.BaseOfImage + linepnt->Type.VirtualAddress < addr)
+ {
+ if (coff_files.files[j].entries[l+1]->tag == SymTagFunction)
+ {
+ /*
+ * Add the line number. This is always relative to the
+ * start of the function, so we need to subtract that offset
+ * first.
+ */
+ symt_add_func_line(msc_dbg->module,
+ (struct symt_function*)coff_files.files[j].entries[l+1],
+ coff_files.files[j].compiland->source,
+ linepnt->Linenumber,
+ msc_dbg->module->module.BaseOfImage + linepnt->Type.VirtualAddress - addr);
+ }
break;
- l++;
- }
-
- if (coff_files.files[j].entries[l+1]->tag == SymTagFunction)
- {
- /*
- * Add the line number. This is always relative to the
- * start of the function, so we need to subtract that offset
- * first.
- */
- symt_get_address(coff_files.files[j].entries[l+1], &addr);
- symt_add_func_line(msc_dbg->module, (struct symt_function*)coff_files.files[j].entries[l+1],
- coff_files.files[j].compiland->source, linepnt->Linenumber,
- msc_dbg->module->module.BaseOfImage + linepnt->Type.VirtualAddress - addr);
+ }
}
}
}
--
Debian Wine packaging
More information about the pkg-wine-party
mailing list