Some Argument checking in __RTDynamicCast
Uwe Bonnes
bon at elektron.ikp.physik.tu-darmstadt.de
Sun Oct 5 09:47:45 CDT 2003
Changelog:
dlls/msvcrt/cpp.c: MSVCRT___RTDynamicCast
Reject a NULL cppobj
This lets XILINX XST run on a large file with builtin MSVCRT. Native MSVCRT
also returns NULL in that case.
--
Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Index: wine/dlls/msvcrt/cpp.c
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/cpp.c,v
retrieving revision 1.15
diff -u -r1.15 cpp.c
--- wine/dlls/msvcrt/cpp.c 5 Sep 2003 23:08:35 -0000 1.15
+++ wine/dlls/msvcrt/cpp.c 5 Oct 2003 14:42:47 -0000
@@ -1150,11 +1150,13 @@
type_info *src, type_info *dst,
int do_throw)
{
- const rtti_object_locator *obj_locator = RTTI_GetObjectLocator(cppobj);
+ const rtti_object_locator *obj_locator;
/* Note: cppobj _isn't_ a type_info, we use that struct for its vtable ptr */
TRACE("(%p,%d,%p,%p,%d)\n", cppobj, unknown, src, dst, do_throw);
-
+ if (!cppobj)
+ return 0;
+ obj_locator= RTTI_GetObjectLocator(cppobj);
if (unknown)
FIXME("Unknown parameter is non-zero: please report\n");
More information about the wine-patches
mailing list