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