mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 09:34:43 +00:00
[SACDRV] Fix uninitialized variable usage.
Powered by clang-cl.
This commit is contained in:
parent
4eb45209ea
commit
4be3bc682d
2 changed files with 23 additions and 19 deletions
|
@ -153,27 +153,29 @@ FreeDeviceData(IN PDEVICE_OBJECT DeviceObject)
|
|||
|
||||
/* Get the device extension and see how far we had gotten */
|
||||
DeviceExtension = (PSAC_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
|
||||
if ((GlobalDataInitialized) && (DeviceExtension->Initialized))
|
||||
if (!(GlobalDataInitialized) || !(DeviceExtension->Initialized))
|
||||
{
|
||||
/* Attempt to rundown while holding the lock */
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
/* Attempt to rundown while holding the lock */
|
||||
KeAcquireSpinLock(&DeviceExtension->Lock, &OldIrql);
|
||||
while (DeviceExtension->RundownInProgress)
|
||||
{
|
||||
SAC_DBG(SAC_DBG_ENTRY_EXIT, "SAC FreeDeviceData: Waiting....\n");
|
||||
|
||||
/* Initiate and wait for rundown */
|
||||
KeInitializeEvent(&DeviceExtension->RundownEvent, SynchronizationEvent, 0);
|
||||
KeReleaseSpinLock(&DeviceExtension->Lock, OldIrql);
|
||||
Status = KeWaitForSingleObject(&DeviceExtension->RundownEvent,
|
||||
Executive,
|
||||
KernelMode,
|
||||
FALSE,
|
||||
NULL);
|
||||
ASSERT(Status == STATUS_SUCCESS);
|
||||
|
||||
/* Re-acquire the lock and check if rundown is done */
|
||||
KeAcquireSpinLock(&DeviceExtension->Lock, &OldIrql);
|
||||
while (DeviceExtension->RundownInProgress)
|
||||
{
|
||||
SAC_DBG(SAC_DBG_ENTRY_EXIT, "SAC FreeDeviceData: Waiting....\n");
|
||||
|
||||
/* Initiate and wait for rundown */
|
||||
KeInitializeEvent(&DeviceExtension->RundownEvent, SynchronizationEvent, 0);
|
||||
KeReleaseSpinLock(&DeviceExtension->Lock, OldIrql);
|
||||
Status = KeWaitForSingleObject(&DeviceExtension->RundownEvent,
|
||||
Executive,
|
||||
KernelMode,
|
||||
FALSE,
|
||||
NULL);
|
||||
ASSERT(Status == STATUS_SUCCESS);
|
||||
|
||||
/* Re-acquire the lock and check if rundown is done */
|
||||
KeAcquireSpinLock(&DeviceExtension->Lock, &OldIrql);
|
||||
}
|
||||
}
|
||||
|
||||
/* Now set the rundown flag while we cancel the timer */
|
||||
|
@ -205,6 +207,7 @@ FreeDeviceData(IN PDEVICE_OBJECT DeviceObject)
|
|||
KeAcquireSpinLock(&DeviceExtension->Lock, &OldIrql);
|
||||
DeviceExtension->Initialized = FALSE;
|
||||
KeReleaseSpinLock(&DeviceExtension->Lock, OldIrql);
|
||||
Exit:
|
||||
SAC_DBG(SAC_DBG_ENTRY_EXIT, "SAC FreeDeviceData: Exiting.\n");
|
||||
}
|
||||
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
{ \
|
||||
if (!VerifyEventWaitable(Attributes->x, &Object, &WaitObject)) \
|
||||
{ \
|
||||
Status = STATUS_INVALID_HANDLE; \
|
||||
goto FailChannel; \
|
||||
} \
|
||||
Channel->x = Attributes->x; \
|
||||
|
|
Loading…
Reference in a new issue