Skip to content

Commit 2a765fc

Browse files
committed
fix: add Log.Warn to 22 silent catch blocks in RegistryLeftoverScanner, fix ManagementObject disposal leaks
1 parent b535ee7 commit 2a765fc

3 files changed

Lines changed: 21 additions & 18 deletions

File tree

src/DeepPurge.Core/Registry/RegistryLeftoverScanner.cs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using global::Microsoft.Win32;
22
using DeepPurge.Core.Data;
3+
using DeepPurge.Core.Diagnostics;
34
using DeepPurge.Core.Models;
45

56
namespace DeepPurge.Core.Registry;
@@ -264,11 +265,11 @@ private void ScanSoftwareKeys(List<LeftoverItem> leftovers, ScanMode mode)
264265
}
265266
}
266267
}
267-
catch { }
268+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
268269
}
269270
}
270271
}
271-
catch { }
272+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
272273
}
273274
}
274275
}
@@ -317,10 +318,10 @@ private void ScanComRegistrations(InstalledProgram program, List<LeftoverItem> l
317318
});
318319
}
319320
}
320-
catch { }
321+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
321322
}
322323
}
323-
catch { }
324+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
324325
}
325326

326327
private void ScanAppPaths(InstalledProgram program, List<LeftoverItem> leftovers)
@@ -354,7 +355,7 @@ private void ScanAppPaths(InstalledProgram program, List<LeftoverItem> leftovers
354355
}
355356
}
356357
}
357-
catch { }
358+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
358359
}
359360
}
360361

@@ -391,10 +392,10 @@ private void ScanFileAssociations(InstalledProgram program, List<LeftoverItem> l
391392
});
392393
}
393394
}
394-
catch { }
395+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
395396
}
396397
}
397-
catch { }
398+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
398399
}
399400

400401
private void ScanStartupEntries(List<LeftoverItem> leftovers)
@@ -430,7 +431,7 @@ private void ScanStartupEntries(List<LeftoverItem> leftovers)
430431
}
431432
}
432433
}
433-
catch { }
434+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
434435
}
435436
}
436437

@@ -463,10 +464,10 @@ private void ScanServices(InstalledProgram program, List<LeftoverItem> leftovers
463464
});
464465
}
465466
}
466-
catch { }
467+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
467468
}
468469
}
469-
catch { }
470+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
470471
}
471472

472473
private void ScanFirewallRules(InstalledProgram program, List<LeftoverItem> leftovers)
@@ -497,7 +498,7 @@ private void ScanFirewallRules(InstalledProgram program, List<LeftoverItem> left
497498
}
498499
}
499500
}
500-
catch { }
501+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
501502
}
502503

503504
private void ScanMuiCache(InstalledProgram program, List<LeftoverItem> leftovers)
@@ -527,7 +528,7 @@ private void ScanMuiCache(InstalledProgram program, List<LeftoverItem> leftovers
527528
}
528529
}
529530
}
530-
catch { }
531+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
531532
}
532533

533534
private void ScanShellExtensions(InstalledProgram program, List<LeftoverItem> leftovers)
@@ -562,7 +563,7 @@ private void ScanShellExtensions(InstalledProgram program, List<LeftoverItem> le
562563
}
563564
}
564565
}
565-
catch { }
566+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
566567
}
567568
}
568569

@@ -599,7 +600,7 @@ private void ScanAppCompatFlags(InstalledProgram program, List<LeftoverItem> lef
599600
}
600601
}
601602
}
602-
catch { }
603+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
603604
}
604605
}
605606

@@ -622,7 +623,7 @@ private void ScanMsiData(InstalledProgram program, List<LeftoverItem> leftovers)
622623
guid.Replace("{", "").Replace("}", "").Replace("-", ""),
623624
"HKLM", leftovers, 2);
624625
}
625-
catch { }
626+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
626627
}
627628
}
628629

@@ -657,7 +658,7 @@ private void SearchKeyRecursive(RegistryKey hive, string path, string searchTerm
657658
}
658659
}
659660
}
660-
catch { }
661+
catch (Exception ex) { Log.Warn($"Registry scan: {ex.Message}"); }
661662
}
662663

663664
private static bool RegistryKeyExists(string path)

src/DeepPurge.Core/Safety/SecureDelete.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,9 @@ private static bool DetectSsd(string driveRoot)
172172
$"SELECT MediaType FROM MSFT_PhysicalDisk WHERE DeviceID IN " +
173173
$"(SELECT DiskNumber FROM MSFT_Partition WHERE DriveLetter='{driveLetter}')");
174174
searcher.Scope = new ManagementScope(@"\\.\ROOT\Microsoft\Windows\Storage");
175-
foreach (var obj in searcher.Get())
175+
foreach (ManagementBaseObject baseObj in searcher.Get())
176176
{
177+
using var obj = baseObj;
177178
var mediaType = Convert.ToInt32(obj["MediaType"]);
178179
return mediaType == 4; // 4 = SSD, 3 = HDD
179180
}

src/DeepPurge.Core/Safety/SystemRestoreManager.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ public static List<RestorePointInfo> GetRestorePoints()
4545
{
4646
using var searcher = new ManagementObjectSearcher("root\\default",
4747
"SELECT * FROM SystemRestorePoint");
48-
foreach (ManagementObject obj in searcher.Get())
48+
foreach (ManagementBaseObject baseObj in searcher.Get())
4949
{
50+
using var obj = baseObj;
5051
var desc = obj["Description"]?.ToString() ?? "";
5152
var seq = Convert.ToInt32(obj["SequenceNumber"]);
5253
var creationStr = obj["CreationTime"]?.ToString() ?? "";

0 commit comments

Comments
 (0)