Index: /trunk/src/VBox/Devices/Storage/VSCSI/VSCSILunSbc.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/VSCSI/VSCSILunSbc.cpp	(revision 54051)
+++ /trunk/src/VBox/Devices/Storage/VSCSI/VSCSILunSbc.cpp	(revision 54052)
@@ -497,7 +497,5 @@
                     if (cBlkDesc)
                     {
-                        PRTRANGE paRanges;
-
-                        paRanges = (PRTRANGE)RTMemAllocZ(cBlkDesc * sizeof(RTRANGE));
+                        PRTRANGE paRanges = (PRTRANGE)RTMemAllocZ(cBlkDesc * sizeof(RTRANGE));
                         if (paRanges)
                         {
@@ -519,4 +517,7 @@
                             if (rcReq == SCSI_STATUS_OK)
                                 rc = vscsiIoReqUnmapEnqueue(pVScsiLun, pVScsiReq, paRanges, cBlkDesc);
+                            if (   rcReq != SCSI_STATUS_OK
+                                || RT_FAILURE(rc))
+                                RTMemFree(paRanges);
                         }
                         else /* Out of memory. */
