Traces and Valgrind

Francois Gouget fgouget at codeweavers.com
Wed Nov 19 17:47:38 CST 2003


Changelog:

  * dlls/advapi32/registry.c,
    dlls/ntdll/resource.c

    Francois Gouget <fgouget at codeweavers.com>
    Try not to display uninitialized data in traces (found by Valgrind):
    In RegQueryValueExW, if the data pointer is NULL, then *count is 
irrelevant and may actually not have been initialized by the caller.
    In LdrFindResourceDirectory_U and LdrFindResource_U, if level <= 2, 
then info->Language is irrelevant and may not have been initialized by 
the caller.

-- 
Francois Gouget
fgouget at codeweavers.com

-------------- next part --------------
Index: dlls/advapi32/registry.c
===================================================================
RCS file: /home/cvs/wine/dlls/advapi32/registry.c,v
retrieving revision 1.57
diff -u -r1.57 registry.c
--- dlls/advapi32/registry.c	17 Nov 2003 20:31:30 -0000	1.57
+++ dlls/advapi32/registry.c	19 Nov 2003 21:31:49 -0000
@@ -1013,7 +1013,8 @@
     static const int info_size = offsetof( KEY_VALUE_PARTIAL_INFORMATION, Data );
 
     TRACE("(%p,%s,%p,%p,%p,%p=%ld)\n",
-          hkey, debugstr_w(name), reserved, type, data, count, count ? *count : 0 );
+          hkey, debugstr_w(name), reserved, type, data, count,
+          (count && data) ? *count : 0 );
 
     if ((data && !count) || reserved) return ERROR_INVALID_PARAMETER;
     if (!(hkey = get_special_root_hkey( hkey ))) return ERROR_INVALID_HANDLE;
Index: dlls/ntdll/resource.c
===================================================================
RCS file: /home/cvs/wine/dlls/ntdll/resource.c,v
retrieving revision 1.5
diff -u -r1.5 resource.c
--- dlls/ntdll/resource.c	5 Sep 2003 23:08:34 -0000	1.5
+++ dlls/ntdll/resource.c	19 Nov 2003 21:31:49 -0000
@@ -274,7 +274,8 @@
 
     if (info) TRACE( "module %p type %s name %s lang %04lx level %ld\n",
                      hmod, debugstr_w((LPCWSTR)info->Type),
-                     debugstr_w((LPCWSTR)info->Name), info->Language, level );
+                     debugstr_w((LPCWSTR)info->Name),
+                     (level > 2 ? info->Language : 0), level );
 
     __TRY
     {
@@ -301,7 +302,8 @@
 
     if (info) TRACE( "module %p type %s name %s lang %04lx level %ld\n",
                      hmod, debugstr_w((LPCWSTR)info->Type),
-                     debugstr_w((LPCWSTR)info->Name), info->Language, level );
+                     debugstr_w((LPCWSTR)info->Name), info->Language,
+                     (level > 2 ? info->Language : 0), level );
 
     __TRY
     {


More information about the wine-patches mailing list