Commit graph

997 commits

Author SHA1 Message Date
Andrea Mazzoleni
c2b56fa135 Silence clang static analyzer warnings 2026-08-02 23:04:52 +02:00
Andrea Mazzoleni
b58b793b11 Fix binary varint decoders to reject values overflowing uint32_t/uint64_t declared widths 2026-08-02 22:20:03 +02:00
Andrea Mazzoleni
f7f47e63da Validate the product/model returned by the Windows driver 2026-08-02 22:20:03 +02:00
Andrea Mazzoleni
15c9e377dc Update to the new RAID library 2026-08-02 22:20:03 +02:00
Andrea Mazzoleni
5fc391f4c9 Fix build in different directory 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
31d9629e8a Defer deallocation of modified files to phase 2 to prevent copy-detection races 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
152e089778 Block signal delivery across fork to prevent signal forwarding race condition in main.c 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
c73a1e3a1e Cap maximum rate-limiter credit accumulation to 10 seconds to prevent huge post-pause bursts 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
ec3903e545 Use eaccess instead of access in unixapp.c for consistent effective privilege checking 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
7684f6da67 Validate WMI-returned VSS snapshot GUID format in mingwapp.c to mitigate potential command injection 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
a71561f534 Fix wide-character buffer size parameters in mingwapp.c snwprintf calls to prevent stack buffer overflow 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
52fb7fb8df Abort execution with a fatal error if smartctl options exceed maximum argument limit 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
1caa7d6858 Document the concurrency boundaries of worker threads 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
004dafedfa Move string functions to new str.h and str.c files 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
59da34c4f8 Move safe memory helper functions to dedicated memory.c and memory.h 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
d2c765617d Fail if the PowerShell command is too long 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
6f41890905 Fix documentation of windows_guid_is_valid 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
1187e11d2d Document handle_close failures 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
1ec05964aa Fix typo in monothread implementation 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
9f1da46232 Fix leak on error in state_write 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
f1d15d19a5 Fix leak on error in argutf8 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
6a0b120031 Avoid floating point underflow in thermal computation 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
c2ddc3e6e5 Introduce nalloc_nofail 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
1e05ba31be Fix strtrim to correctly trim strings containing only whitespace 2026-07-30 16:26:40 +02:00
Andrea Mazzoleni
6758ef411f Prevent integer wrap-around when checking string length in sgetbs 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
0e7cb0782f Run PowerShell commands safely via base64 encoded strings 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
5b8995ddfa Pass element count instead of byte count to WCHAR buffer bounds 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
b7d90574c8 Synchronize child_process updates using interlocked Win32 APIs 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
ea6aff0e46 Avoid 100% CPU utlization in thread_yield 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
51df6c2334 Document why thread_yield is used 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
1fa1cd7eec Allocate minimum 1 byte in malloc_nofail when size is 0 to prevent process abort 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
527560d9a8 Use sig_atomic_t 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
7d70a2acaf Clarify comment about reading uuids 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
514c5989d2 Align data disk UUID validation and write logic with parity splits using content_uuid 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
d1ab1674cf Optimize redundant devuuid() calls by storing content file UUIDs in a dedicated field 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
82fdb5663d Add support for specifying case-insensitive SMART attribute names in the smartignore option 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
a6aa723b08 Avoid some hardcoded string sizes 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
88b0755c87 Merge the CLI and Daemon portable interface 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
3acc33ef63 Fail Btrfs device listing if an unexpeced error happens 2026-07-30 16:26:39 +02:00
Andrea Mazzoleni
970c380a44 Fix file descriptor leak in os_spawn by enabling O_CLOEXEC for compiled binaries 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
2e12903940 Add support for custom smartctl info options using a [info: ...] tag 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
bcb2e862b9 Skip spinup and spindown for non-rotational devices 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
1764377f93 Refactor portable support 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
c01d72021a Allow tools to be symlinks and hardlinks 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
411272b209 Rename randomize to os_randomize 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
fd58387aea More CPU info 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
c90e803f0f Add CRC support for macOS 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
d3ce868da3 In the speed test, set the CPU affinity to the expected best core 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
344e8b4467 Run the speed test with and without displacement 2026-07-30 16:26:38 +02:00
Andrea Mazzoleni
6032b549fe Allow to specify the wrap size in allocation 2026-07-30 16:26:38 +02:00