TapTap
10c4ffebdf
fix(client): harden CLI args, log escaping, and local artifact opens
...
- parse_ull_arg() rejects a leading '-'/'+' (strtoull would silently wrap
-1 to ULLONG_MAX) and --chunk-size/--delta-max enforce their upper bounds.
- Escape local untrusted paths before logging (client_send, scanner,
--filter rule, pattern-file reads) with output_escape(..., 8-bit mode).
- Read --exclude-from/--include-from through the bounded line reader.
- Open --log-file with O_NOFOLLOW|O_CLOEXEC, mode 0600, via open+fdopen;
create --write-batch with O_NOFOLLOW|O_CLOEXEC, mode 0600.
- Reject --dry-run together with --write-batch (dry-run must not write the
batch file), alongside the existing --read-batch/--only-write-batch rules.
Tests: signed/oversized numeric rejection, over-long pattern file, dry-run +
write-batch unit and integration coverage.
2026-09-14 16:39:19 +02:00
..
2026-09-13 06:59:02 +02:00
2026-09-14 16:39:19 +02:00
2026-09-08 17:25:56 +02:00
2026-09-13 12:19:46 +02:00
2026-09-13 00:59:21 +02:00
2026-06-10 16:58:35 +02:00
2026-09-10 22:05:18 +02:00
2026-09-10 21:40:07 +02:00
2026-09-06 12:34:10 +02:00
2026-09-06 12:34:10 +02:00
2026-09-07 19:50:52 +02:00
2026-09-07 17:42:53 +02:00
2026-09-08 22:53:47 +02:00
2026-06-10 16:58:35 +02:00
2026-09-14 16:39:19 +02:00
2026-07-29 19:19:19 +02:00
2026-09-14 16:39:05 +02:00
2026-07-04 21:25:34 +02:00
2026-09-13 13:27:32 +02:00
2026-06-10 16:58:35 +02:00
2026-09-12 19:29:23 +02:00
2026-09-10 12:50:56 +02:00
2026-09-13 11:11:23 +02:00
2026-09-09 17:48:07 +02:00
2026-09-13 11:11:23 +02:00
2026-09-13 10:23:58 +02:00
2026-07-20 19:42:53 +02:00
2026-07-20 14:44:35 +02:00
2026-09-06 14:19:18 +02:00
2026-09-06 13:20:03 +02:00
2026-09-07 17:42:53 +02:00
2026-07-18 20:00:15 +02:00
2026-09-14 16:39:14 +02:00
2026-09-13 04:16:28 +02:00
2026-08-30 13:50:42 +02:00
2026-07-20 19:42:53 +02:00
2026-09-13 10:06:04 +02:00
2026-09-09 14:23:59 +02:00
2026-09-13 05:24:23 +02:00
2026-07-29 19:19:19 +02:00
2026-09-14 16:39:10 +02:00
2026-07-20 14:44:35 +02:00
2026-09-13 06:24:46 +02:00
2026-09-13 06:24:46 +02:00
2026-09-10 17:49:29 +02:00
2026-09-10 17:13:06 +02:00
2026-09-13 01:44:59 +02:00
2026-07-20 19:42:53 +02:00
2026-09-13 05:24:23 +02:00
2026-07-20 14:44:35 +02:00
2026-09-10 13:52:24 +02:00
2026-09-10 13:52:24 +02:00
2026-09-13 07:20:28 +02:00
2026-07-20 19:42:53 +02:00
2026-09-01 20:46:07 +02:00
2026-07-20 14:44:35 +02:00
2026-09-13 12:40:03 +02:00
2026-09-13 12:19:46 +02:00
2026-09-13 10:42:45 +02:00
2026-07-20 14:44:35 +02:00
2026-08-16 09:37:28 +02:00
2026-06-10 16:58:35 +02:00
2026-09-13 03:46:20 +02:00
2026-09-13 03:29:01 +02:00
2026-09-04 02:25:26 +02:00
2026-07-20 14:44:35 +02:00
2026-09-13 04:06:30 +02:00
2026-07-04 21:25:34 +02:00
2026-09-12 14:54:47 +02:00
2026-09-09 17:48:07 +02:00
2026-09-13 11:56:05 +02:00
2026-07-29 19:19:19 +02:00
2026-09-14 16:39:10 +02:00
2026-06-10 16:58:35 +02:00
2026-09-10 17:39:34 +02:00
2026-09-10 16:27:49 +02:00
2026-08-16 09:37:28 +02:00
2026-07-20 14:44:35 +02:00
2026-09-12 15:01:48 +02:00
2026-07-21 16:55:07 +02:00
2026-09-13 04:18:55 +02:00
2026-07-21 16:55:07 +02:00
2026-09-12 15:01:48 +02:00
2026-07-21 16:55:07 +02:00
2026-09-13 11:11:23 +02:00
2026-09-12 15:03:54 +02:00
2026-09-08 22:27:53 +02:00