]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - Ventoy2Disk/Ventoy2Disk/DiskService_vds.c
Optimization for Ventoy2Disk.exe
[Ventoy.git] / Ventoy2Disk / Ventoy2Disk / DiskService_vds.c
index 38800c69721440992455d7f47b71279c040d09d5..7fd3f111f7575c65ef342f3450b6ca168f0aef2e 100644 (file)
@@ -383,6 +383,7 @@ STATIC BOOL VDS_CallBack_DeletePartition(void *pInterface, VDS_DISK_PROP *pDiskP
     hr = IVdsAdvancedDisk_QueryPartitions(pAdvancedDisk, &prop_array, &prop_array_size);\r
     if (hr == S_OK) \r
     {\r
+               r = TRUE;\r
         for (i = 0; i < prop_array_size; i++) \r
         {\r
             if (PartNumber == 0 || PartNumber == prop_array[i].ulPartitionNumber)\r
@@ -402,21 +403,25 @@ STATIC BOOL VDS_CallBack_DeletePartition(void *pInterface, VDS_DISK_PROP *pDiskP
             {\r
                 r = FALSE;\r
                 VDS_SET_ERROR(hr);\r
-                Log("Could not delete partitions: %u", LASTERR);\r
+                Log("Could not delete partitions: 0x%x", LASTERR);\r
+                               break;\r
             }\r
             else \r
             {\r
                 Log("Delete this partitions success");\r
             }\r
         }\r
-        r = TRUE;\r
     }\r
     else \r
     {\r
         Log("No partition to delete on disk '%S'", pDiskProp->pwszName);\r
         r = TRUE;\r
     }\r
-    CoTaskMemFree(prop_array);\r
+\r
+       if (prop_array)\r
+       {\r
+               CoTaskMemFree(prop_array);\r
+       }\r
 \r
     return r;\r
 }\r