Commit graph

2377 commits

Author SHA1 Message Date
Andrea Mazzoleni
f3c3265116 Document dummy register clobbers in raid_sse_end and raid_neon_end 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
acdf29ac09 Replace VLA envp_dynamic with malloc in fork child exec path 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
6c85573d12 Add comments explaining Windows Service console attachment flow in os_term 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
f67bf49c91 Comment about process resource in os_term/os_kill on Windows 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
b3fdc8d6a5 Add fallback to kill(pid, sig) when process group signaling returns ESRCH in os_term and os_kill 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
6b46e08a1f Configure PR_SET_PDEATHSIG on Linux and Job Objects on Windows to prevent orphaned subprocesses on program crash 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
0ca7c65049 Support filesystems with invalid inode numbers on individual files 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
3878c0e2e6 Silence clang static analyzer warnings 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
76124cff00 Add bounded retry with exponential backoff for ERROR_NO_SYSTEM_RESOURCES 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
05884d7aa0 Fix binary varint decoders to reject values overflowing uint32_t/uint64_t declared widths 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
02413b756c Validate the product/model returned by the Windows driver 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
c79f82bc99 Update to the new RAID library 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
47b321d97c Support dynamic runtime selection of RAID AES mode 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
1b1ae7cce9 Add new os_kill 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
e191127b0d Add CREATE_NO_WINDOW flag to process creation in os_spawn 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
7afed76f06 Create symlinks to host binaries on Wine targets to run test commands natively 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
9a2ea26a62 Fix build in different directory 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
4ebdfe8c8f Defer deallocation of modified files to phase 2 to prevent copy-detection races 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
821756371c Block signal delivery across fork to prevent signal forwarding race condition in main.c 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
9621655a10 Cap maximum rate-limiter credit accumulation to 10 seconds to prevent huge post-pause bursts 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
a7a8ac48c3 Use eaccess instead of access in unixapp.c for consistent effective privilege checking 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
0051c58231 Validate WMI-returned VSS snapshot GUID format in mingwapp.c to mitigate potential command injection 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
7aff21e3a9 Fix wide-character buffer size parameters in mingwapp.c snwprintf calls to prevent stack buffer overflow 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
6ed860eac3 Abort execution with a fatal error if smartctl options exceed maximum argument limit 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
b668bcb96b Update TODO 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
d49a45c43f Document the concurrency boundaries of worker threads 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
2bf0fcf97c Move string functions to new str.h and str.c files 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
4da1ab072b Move safe memory helper functions to dedicated memory.c and memory.h 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
07f7247fce Update HISTORY 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
a470109321 Update TODO 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
180278fbb4 Make os_abort to log to os_syslog 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
19297d6c3d Fail if the PowerShell command is too long 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
ad6ddafd05 Fix documentation of windows_guid_is_valid 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
ebe2bbe76c Document handle_close failures 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
1b2f619852 Fix typo in monothread implementation 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
3a8c5917fd Fix leak on error in state_write 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
ff0a4a444a Fix leak on error in argutf8 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
f17b502652 Avoid floating point underflow in thermal computation 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
bbcdb72a9f Introduce nalloc_nofail 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
8de159289a Fix strtrim to correctly trim strings containing only whitespace 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
760e0660c8 Prevent integer wrap-around when checking string length in sgetbs 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
effc3be9c2 Sanitize addr2line binary path via strspn whitelist before system call 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
d6b51d61e7 Sync the OS interface with the daemon 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
f627f3be80 Run PowerShell commands safely via base64 encoded strings 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
e51a29927a Pass element count instead of byte count to WCHAR buffer bounds 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
5edf0b2c03 Synchronize child_process updates using interlocked Win32 APIs 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
4bbfdc43d9 Avoid 100% CPU utlization in thread_yield 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
dcb7327f15 Document why thread_yield is used 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
056a037761 Abort on privilege switch failures unless errno is EPERM 2026-08-18 23:33:55 +02:00
Andrea Mazzoleni
aa53e9f4b7 Allocate minimum 1 byte in malloc_nofail when size is 0 to prevent process abort 2026-08-18 23:33:55 +02:00