[FFS] Don't leak on failure
authorPierre Schweitzer <pierre@reactos.org>
Mon, 23 Oct 2017 08:30:27 +0000 (10:30 +0200)
committerPierre Schweitzer <pierre@reactos.org>
Mon, 23 Oct 2017 08:35:21 +0000 (10:35 +0200)
CID 1363596

drivers/filesystems/ffs/src/block.c

index 423842f..8507695 100644 (file)
@@ -255,6 +255,10 @@ FFSReadWriteBlocks(
                                        (CCHAR)(Vcb->TargetDeviceObject->StackSize + 1));
                        if (!Irp)
                        {
                                        (CCHAR)(Vcb->TargetDeviceObject->StackSize + 1));
                        if (!Irp)
                        {
+#ifdef __REACTOS__
+                ExFreePoolWithTag(pContext, FFS_POOL_TAG);
+                pContext = NULL;
+#endif
                                Status = STATUS_INSUFFICIENT_RESOURCES;
                                _SEH2_LEAVE;
                        }
                                Status = STATUS_INSUFFICIENT_RESOURCES;
                                _SEH2_LEAVE;
                        }
@@ -268,6 +272,10 @@ FFSReadWriteBlocks(
 
                        if (!Mdl)
                        {
 
                        if (!Mdl)
                        {
+#ifdef __REACTOS__
+                ExFreePoolWithTag(pContext, FFS_POOL_TAG);
+                pContext = NULL;
+#endif
                                Status = STATUS_INSUFFICIENT_RESOURCES;
                                _SEH2_LEAVE;
                        }
                                Status = STATUS_INSUFFICIENT_RESOURCES;
                                _SEH2_LEAVE;
                        }