[NETAPI32_APITEST] Fix a NULL dereference of pInfo
authorSerge Gautherie <reactos-git_serge_171003@gautherie.fr>
Fri, 8 Jun 2018 14:24:05 +0000 (16:24 +0200)
committerColin Finck <colin@reactos.org>
Sun, 17 Jun 2018 10:16:08 +0000 (12:16 +0200)
With DPH enabled,
{{
Unhandled exception
ExceptionCode:    c0000005
Faulting Address:        0
...
modules/rostests/apitests/netapi32/DsRoleGetPrimaryDomainInformation.c:23 (func_DsRoleGetPrimaryDomainInformation)
...
}}

modules/rostests/apitests/netapi32/DsRoleGetPrimaryDomainInformation.c

index 4882d35..900ecd4 100644 (file)
@@ -3,6 +3,7 @@
  * LICENSE:     GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
  * PURPOSE:     Tests for DsRoleGetPrimaryDomainInformation
  * COPYRIGHT:   Copyright 2017 Colin Finck (colin@reactos.org)
+ *              Copyright 2018 Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
  */
 
 #include <apitest.h>
@@ -20,8 +21,12 @@ START_TEST(DsRoleGetPrimaryDomainInformation)
     // Get information about the domain membership of this computer.
     dwErrorCode = DsRoleGetPrimaryDomainInformation(NULL, DsRolePrimaryDomainInfoBasic, (PBYTE*)&pInfo);
     ok(dwErrorCode == ERROR_SUCCESS, "DsRoleGetPrimaryDomainInformation returns %lu!\n", dwErrorCode);
-    ok(pInfo->MachineRole >= DsRole_RoleStandaloneWorkstation && pInfo->MachineRole <= DsRole_RolePrimaryDomainController, "pInfo->MachineRole is %u!\n", pInfo->MachineRole);
+    if (pInfo == NULL)
+    {
+        skip("pInfo is NULL\n");
+        return;
+    }
 
-    if (pInfo)
-        DsRoleFreeMemory(pInfo);
+    ok(pInfo->MachineRole >= DsRole_RoleStandaloneWorkstation && pInfo->MachineRole <= DsRole_RolePrimaryDomainController, "pInfo->MachineRole is %u!\n", pInfo->MachineRole);
+    DsRoleFreeMemory(pInfo);
 }