Loading...
iokit/Kernel/RootDomainUserClient.cpp xnu-3789.31.2 xnu-3248.30.4
--- xnu/xnu-3789.31.2/iokit/Kernel/RootDomainUserClient.cpp
+++ xnu/xnu-3248.30.4/iokit/Kernel/RootDomainUserClient.cpp
@@ -216,19 +216,14 @@
 
 IOReturn RootDomainUserClient::clientClose( void )
 {
-    terminate();
-
-    return kIOReturnSuccess;
-}
-
-void RootDomainUserClient::stop( IOService *provider)
-{
+    detach(fOwner);
+
     if(fOwningTask) {
         task_deallocate(fOwningTask);
         fOwningTask = 0;
     }
 
-    super::stop(provider);
+    return kIOReturnSuccess;
 }
 
 IOReturn RootDomainUserClient::externalMethod(
@@ -304,13 +299,10 @@
                     (uint32_t *)&arguments->scalarOutput[0]);
             break;
         case kPMSetMaintenanceWakeCalendar:
-            if ((arguments->structureInputSize >= sizeof(IOPMCalendarStruct)) &&
-                (arguments->structureOutputSize >= sizeof(uint32_t) )) {
-                ret = this->secureSetMaintenanceWakeCalendar(
-                                                             (IOPMCalendarStruct *)arguments->structureInput,
-                                                             (uint32_t *)&arguments->structureOutput);
-                arguments->structureOutputSize = sizeof(uint32_t);
-            }
+            ret = this->secureSetMaintenanceWakeCalendar(
+                    (IOPMCalendarStruct *)arguments->structureInput,
+                    (uint32_t *)&arguments->structureOutput);
+            arguments->structureOutputSize = sizeof(uint32_t);
             break;
 
         case kPMSetUserAssertionLevels: