diff options
| author | Dipannita Shaw <[email protected]> | 2021-04-27 14:26:21 -0700 |
|---|---|---|
| committer | Dipannita Shaw <[email protected]> | 2021-04-27 14:26:21 -0700 |
| commit | 78a1795995814a0bac43042f7ca68e83ab525bd5 (patch) | |
| tree | 8e2eb0e8c3a11220f2f119964c6c6e3674eda0da /network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp | |
| parent | 465e27457dd3b47cf64e4b7274705cc6acc011a6 (diff) | |
| parent | 672fafbcc455cd97172b2df78040c7c405e32d00 (diff) | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp')
| -rw-r--r-- | network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp | 65 |
1 files changed, 50 insertions, 15 deletions
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp b/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp index 4c47f3b3..23f4a6df 100644 --- a/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp +++ b/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp @@ -843,9 +843,16 @@ NTSTATUS KrnlHlprWorkItemQueue(_In_ PDEVICE_OBJECT pWDMDevice, HLPR_BAIL_LABEL: - if(status != STATUS_SUCCESS && - pWorkItemData) - KrnlHlprWorkItemDataDestroy(&pWorkItemData); + if(status != STATUS_SUCCESS) + { + if(pWorkItemData) + KrnlHlprWorkItemDataDestroy(&pWorkItemData); + else + { + if(pIOWorkItem) + IoFreeWorkItem(pIOWorkItem); + } + } #if DBG @@ -929,9 +936,16 @@ NTSTATUS KrnlHlprWorkItemQueue(_In_ PDEVICE_OBJECT pWDMDevice, HLPR_BAIL_LABEL: - if(status != STATUS_SUCCESS && - pWorkItemData) - KrnlHlprWorkItemDataDestroy(&pWorkItemData); + if(status != STATUS_SUCCESS) + { + if(pWorkItemData) + KrnlHlprWorkItemDataDestroy(&pWorkItemData); + else + { + if(pIOWorkItem) + IoFreeWorkItem(pIOWorkItem); + } + } #if DBG @@ -1015,9 +1029,16 @@ NTSTATUS KrnlHlprWorkItemQueue(_In_ PDEVICE_OBJECT pWDMDevice, HLPR_BAIL_LABEL: - if(status != STATUS_SUCCESS && - pWorkItemData) - KrnlHlprWorkItemDataDestroy(&pWorkItemData); + if(status != STATUS_SUCCESS) + { + if(pWorkItemData) + KrnlHlprWorkItemDataDestroy(&pWorkItemData); + else + { + if(pIOWorkItem) + IoFreeWorkItem(pIOWorkItem); + } + } #if DBG @@ -1098,9 +1119,16 @@ NTSTATUS KrnlHlprWorkItemQueue(_In_ PDEVICE_OBJECT pWDMDevice, HLPR_BAIL_LABEL: - if(status != STATUS_SUCCESS && - pWorkItemData) - KrnlHlprWorkItemDataDestroy(&pWorkItemData); + if(status != STATUS_SUCCESS) + { + if(pWorkItemData) + KrnlHlprWorkItemDataDestroy(&pWorkItemData); + else + { + if(pIOWorkItem) + IoFreeWorkItem(pIOWorkItem); + } + } #if DBG @@ -1181,9 +1209,16 @@ NTSTATUS KrnlHlprWorkItemQueue(_In_ PDEVICE_OBJECT pWDMDevice, HLPR_BAIL_LABEL: - if(status != STATUS_SUCCESS && - pWorkItemData) - KrnlHlprWorkItemDataDestroy(&pWorkItemData); + if(status != STATUS_SUCCESS) + { + if(pWorkItemData) + KrnlHlprWorkItemDataDestroy(&pWorkItemData); + else + { + if(pIOWorkItem) + IoFreeWorkItem(pIOWorkItem); + } + } #if DBG |
