Block a user
data_create_empty with size 0 calls malloc(0) — undefined behavior per C standard
receive_str() has no size limit — potential memory exhaustion DoS
send_str() will segfault if passed NULL pointer
Scanner stores pointers to exclude/include patterns without ownership
SSH transport uses fixed-size argv array that may overflow with more options
Add unit test coverage (#71, #63, #62, #56, #55)
Fix logic/correctness bugs (#73, #68, #67, #66, #59, #58, #54, #48, #53)
Features and enhancements (#70, #36, #34, #33, #32, #57, #40, #37)
Fix refactoring and portability issues (#61, #51, #52)