--- security.c (revision 37998)\r
+++ security.c (working copy)\r
@@ -2665,13 +2665,17 @@\r
- return;
- }
-
-+ /* ReactOS Hack: ros' Security Descriptor string parsing sucks */
-+ skip("ROS-HACK: Skipping 'test_PrivateObjectSecurity' -- ros' SID string parsing sucks\n");
-+ return;
-+
- ok(pConvertStringSecurityDescriptorToSecurityDescriptorA(
- "O:SY"
- "G:S-1-5-21-93476-23408-4576"
- "D:(A;NP;GAGXGWGR;;;SU)(A;IOID;CCDC;;;SU)"
- "(D;OICI;0xffffffff;;;S-1-5-21-93476-23408-4576)"
- "S:(AU;OICINPIOIDSAFA;CCDCLCSWRPRC;;;SU)(AU;NPSA;0x12019f;;;SU)",
-- SDDL_REVISION_1, &sec, &dwDescSize), "Creating descriptor failed\n");
-+ SDDL_REVISION_1, &sec, &dwDescSize), "Creating descriptor failed\n"); // FIXME: ConvertStringSecurityDescriptorToSecurityDescriptor fails and 'sec' isn't set
-
- test_SetSecurityDescriptorControl(sec);
-
+ return;\r
+ }\r
+ \r
++ /* ReactOS Hack: ros' Security Descriptor string parsing sucks */\r
++ skip("ROS-HACK: Skipping 'test_PrivateObjectSecurity' -- ros' SID string parsing sucks\n");\r
++ return;\r
++\r
+ ok(pConvertStringSecurityDescriptorToSecurityDescriptorA(\r
+ "O:SY"\r
+ "G:S-1-5-21-93476-23408-4576"\r
+ "D:(A;NP;GAGXGWGR;;;SU)(A;IOID;CCDC;;;SU)"\r
+ "(D;OICI;0xffffffff;;;S-1-5-21-93476-23408-4576)"\r
+ "S:(AU;OICINPIOIDSAFA;CCDCLCSWRPRC;;;SU)(AU;NPSA;0x12019f;;;SU)",\r
+- SDDL_REVISION_1, &sec, &dwDescSize), "Creating descriptor failed\n");\r
++ SDDL_REVISION_1, &sec, &dwDescSize), "Creating descriptor failed\n"); // FIXME: ConvertStringSecurityDescriptorToSecurityDescriptor fails and 'sec' isn't set\r
+ \r
+ test_SetSecurityDescriptorControl(sec);\r
+ \r
+===================================================================\r
+--- security.c (revision 38229)\r
++++ security.c (working copy)\r
+@@ -2840,6 +2840,7 @@\r
+ \r
+ /* If we don't ask for the security descriptor, Windows will still give us\r
+ the other stuff, leaving us no way to free it. */\r
++ dacl = NULL;\r
+ ret = pGetSecurityInfo(obj, SE_FILE_OBJECT,\r
+ OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,\r
+ &owner, &group, &dacl, NULL, NULL);\r
+@@ -2847,8 +2848,12 @@\r
+ ok(owner != NULL, "GetSecurityInfo\n");\r
+ ok(group != NULL, "GetSecurityInfo\n");\r
+ ok(dacl != NULL, "GetSecurityInfo\n");\r
+- ok(IsValidAcl(dacl), "GetSecurityInfo\n");\r
+ \r
++ if (dacl != NULL)\r
++ {\r
++ ok(IsValidAcl(dacl), "GetSecurityInfo\n");\r
++ }\r
++\r
+ CloseHandle(obj);\r
+ }\r
+ \r
/* If we don't ask for the security descriptor, Windows will still give us
the other stuff, leaving us no way to free it. */
+ dacl = NULL;
ret = pGetSecurityInfo(obj, SE_FILE_OBJECT,
OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
&owner, &group, &dacl, NULL, NULL);
ok(owner != NULL, "GetSecurityInfo\n");
ok(group != NULL, "GetSecurityInfo\n");
ok(dacl != NULL, "GetSecurityInfo\n");
- ok(IsValidAcl(dacl), "GetSecurityInfo\n");
+
+ if (dacl != NULL)
+ {
+ ok(IsValidAcl(dacl), "GetSecurityInfo\n");
+ }
CloseHandle(obj);
}