Commit graph

997 commits

Author SHA1 Message Date
Andrea Mazzoleni
204daf02b0 Silence clang static analyzer warnings 2026-08-04 09:48:03 +02:00
Andrea Mazzoleni
a18ce02205 Fix binary varint decoders to reject values overflowing uint32_t/uint64_t declared widths 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
2513cbee83 Validate the product/model returned by the Windows driver 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
844d45550a Update to the new RAID library 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
d4b9b95d8b Fix build in different directory 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
058a697f28 Defer deallocation of modified files to phase 2 to prevent copy-detection races 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
7edc91ee30 Block signal delivery across fork to prevent signal forwarding race condition in main.c 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
562d0f0dfc Cap maximum rate-limiter credit accumulation to 10 seconds to prevent huge post-pause bursts 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
6965f5a9f5 Use eaccess instead of access in unixapp.c for consistent effective privilege checking 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
77786b616e Validate WMI-returned VSS snapshot GUID format in mingwapp.c to mitigate potential command injection 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
fe6947fd7c Fix wide-character buffer size parameters in mingwapp.c snwprintf calls to prevent stack buffer overflow 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
42aebcf038 Abort execution with a fatal error if smartctl options exceed maximum argument limit 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
c4a898957b Document the concurrency boundaries of worker threads 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
45f925836e Move string functions to new str.h and str.c files 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
aed9828730 Move safe memory helper functions to dedicated memory.c and memory.h 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
2060606385 Fail if the PowerShell command is too long 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
7916d2454c Fix documentation of windows_guid_is_valid 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
b20de80d87 Document handle_close failures 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
d26bb04f5b Fix typo in monothread implementation 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
ca4bc56eb0 Fix leak on error in state_write 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
4be0d3743e Fix leak on error in argutf8 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
4ff4d52df4 Avoid floating point underflow in thermal computation 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
3d97f7e04d Introduce nalloc_nofail 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
844130bad4 Fix strtrim to correctly trim strings containing only whitespace 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
e0a5bc02a5 Prevent integer wrap-around when checking string length in sgetbs 2026-08-04 09:48:02 +02:00
Andrea Mazzoleni
22f9f36110 Run PowerShell commands safely via base64 encoded strings 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
f064521fbe Pass element count instead of byte count to WCHAR buffer bounds 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
f9e62eb0b7 Synchronize child_process updates using interlocked Win32 APIs 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
a2b9561c15 Avoid 100% CPU utlization in thread_yield 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
61b69f7019 Document why thread_yield is used 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
926bc6884e Allocate minimum 1 byte in malloc_nofail when size is 0 to prevent process abort 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
b16a1aea3e Use sig_atomic_t 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
1de9e4bbc9 Clarify comment about reading uuids 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
f0e2f80017 Align data disk UUID validation and write logic with parity splits using content_uuid 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
645a587bdf Optimize redundant devuuid() calls by storing content file UUIDs in a dedicated field 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
1f45814b76 Add support for specifying case-insensitive SMART attribute names in the smartignore option 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
67d8b5c4cb Avoid some hardcoded string sizes 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
ef8085646d Merge the CLI and Daemon portable interface 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
78c63df3a3 Fail Btrfs device listing if an unexpeced error happens 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
6e0e6972e7 Fix file descriptor leak in os_spawn by enabling O_CLOEXEC for compiled binaries 2026-08-04 09:48:01 +02:00
Andrea Mazzoleni
a4ed90bb94 Add support for custom smartctl info options using a [info: ...] tag 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
b1a9cd4394 Skip spinup and spindown for non-rotational devices 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
51eed57482 Refactor portable support 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
84b8643b3c Allow tools to be symlinks and hardlinks 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
300f4bfabd Rename randomize to os_randomize 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
e77843b714 More CPU info 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
6dd57056bc Add CRC support for macOS 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
c98b057125 In the speed test, set the CPU affinity to the expected best core 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
7127ec3135 Run the speed test with and without displacement 2026-08-04 09:48:00 +02:00
Andrea Mazzoleni
58e92fa3c8 Allow to specify the wrap size in allocation 2026-08-04 09:48:00 +02:00