advapi32: Eliminate wild pointers

Andrew Talbot Andrew.Talbot at talbotville.com
Mon Dec 4 16:53:25 CST 2006


In the calls to ADVAPI_GetDomainName(), pinfo is a wild pointer. This is
my interpretation of what is required. If it is wrong, I would welcome
feedback.

Thanks,

-- Andy.
---
Changelog:
    advapi32: Eliminate wild pointers.

diff -urN a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
--- a/dlls/advapi32/lsa.c	2006-10-23 17:32:15.000000000 +0100
+++ b/dlls/advapi32/lsa.c	2006-12-04 22:29:15.000000000 +0000
@@ -446,7 +446,8 @@
              * All other fields are zero.
              */
             PPOLICY_PRIMARY_DOMAIN_INFO pinfo;
-            pinfo = ADVAPI_GetDomainName(sizeof(*pinfo), (char*)&pinfo->Name - (char*)pinfo);
+
+            pinfo = ADVAPI_GetDomainName(sizeof(*pinfo), offsetof(POLICY_PRIMARY_DOMAIN_INFO, Name));
 
             TRACE("setting domain to %s\n", debugstr_w(pinfo->Name.Buffer));
 
@@ -497,7 +498,7 @@
              */
             PPOLICY_DNS_DOMAIN_INFO pinfo;
 
-            pinfo = ADVAPI_GetDomainName(sizeof(*pinfo), (char*)&pinfo->Name - (char*)pinfo);
+            pinfo = ADVAPI_GetDomainName(sizeof(*pinfo), offsetof(POLICY_DNS_DOMAIN_INFO, Name));
 
             TRACE("setting domain to %s\n", debugstr_w(pinfo->Name.Buffer));
 



More information about the wine-patches mailing list