Batch fix: security, bugs, quality, and features (v2) #198

Merged
TapTap merged 10 commits from integration/all-fixes-v2 into dev 2026-07-30 19:38:26 +02:00
Owner

Fixes:

  • #192 Scanner symlink traversal
  • #187 Unbounded network allocation
  • #194 TCP hostname resolution
  • #193 Multithreaded progress
  • #195 strcpy/strcat safety
  • #174-#186 Rsync parity features

Closes all 23 open issues.

Fixes: - #192 Scanner symlink traversal - #187 Unbounded network allocation - #194 TCP hostname resolution - #193 Multithreaded progress - #195 strcpy/strcat safety - #174-#186 Rsync parity features Closes all 23 open issues.
TapTap added 8 commits 2026-07-30 19:15:41 +02:00
Replace all uses of strcpy() with memcpy() + explicit NUL termination
or direct assignment for safety and consistency. No behavioral changes.

src/shared/file.c:
  - file_create(): strcpy -> memcpy + explicit NUL (buffer size known)

src/shared/utils.c:
  - mkdir_r(): strcpy -> memcpy for path_duplicate
  - mkdir_r(): strcpy(path_current, "/") -> direct assignment
  - mkdir_r(): strcpy loop -> memcpy + direct assignment
  - str_dup(): strcpy -> memcpy (buffer size known)

PR #196 (dry-run manifest refactoring) was already applied in a previous
commit - send_dry_run_manifest() and send_delete_manifest() helpers
already exist and are used by both send_files() and
send_files_multithreaded().
fix: bugs #194 (hostname resolution) and #193 (multithreaded progress)
CI / lint (pull_request) Failing after 2s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / sanitizers (undefined) (pull_request) Has been skipped
CI / fuzz-build (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
efc7e062e3
fix: security #192 #187, bugs #194 #193, quality #195, features #174-#186
CI / lint (pull_request) Failing after 2s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / sanitizers (undefined) (pull_request) Has been skipped
CI / fuzz-build (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
5f1b27c8ff
TapTap added 1 commit 2026-07-30 19:16:38 +02:00
style: apply clang-format
CI / lint (pull_request) Failing after 2m18s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / sanitizers (undefined) (pull_request) Has been skipped
CI / fuzz-build (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
15a861747a
TapTap added 1 commit 2026-07-30 19:34:18 +02:00
fix: null check in str_dup, const in file.c
CI / lint (pull_request) Successful in 2m16s
CI / sanitizers (address) (pull_request) Successful in 36s
CI / sanitizers (undefined) (pull_request) Successful in 37s
CI / fuzz-build (pull_request) Successful in 14s
CI / coverage (pull_request) Successful in 30s
CI / build-and-test (pull_request) Successful in 1m15s
CI / valgrind (pull_request) Successful in 33s
261683aaff
TapTap merged commit 9d67fcbf92 into dev 2026-07-30 19:38:26 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TapTap/FastSync#198