From 552c19d3fe34762285768017253b77702c08a4a1 Mon Sep 17 00:00:00 2001 From: TapTap Date: Fri, 4 Sep 2026 01:49:38 +0200 Subject: [PATCH] fix: guard skip-compress cleanup --- README.md | 1 + src/shared/config.c | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ec1d079..45b9514 100644 --- a/README.md +++ b/README.md @@ -339,6 +339,7 @@ features without changing the meaning of ordinary compatibility options. | `-m` | Enable the multithreaded scanner/loader/sender pipeline. | | `-c [level]`, `-z [level]` | Enable streaming zstd compression, levels 1-22. | | `--compress-level ` | Set the zstd compression level. | +| `--skip-compress ` | Skip compression for comma-separated suffixes; incompatible with `-s`. | | `--chunk-size ` | Set the transfer chunk size. | | `-s` | Enable FastSync chunk serialization. | | `-f`, `--sendfile` | Use TCP `sendfile()` zero-copy transfer. Incompatible with compression and chunk serialization. | diff --git a/src/shared/config.c b/src/shared/config.c index 1422ca8..5ac4bba 100644 --- a/src/shared/config.c +++ b/src/shared/config.c @@ -213,9 +213,11 @@ void config_delete(Config* config) { free(config->bind_address); free(config->daemon_config); free(config->compress_choice); - for (int i = 0; i < config->skip_compress_count; i++) - free(config->skip_compress_suffixes[i]); - free(config->skip_compress_suffixes); + if (config->skip_compress_suffixes) { + for (int i = 0; i < config->skip_compress_count; i++) + free(config->skip_compress_suffixes[i]); + free(config->skip_compress_suffixes); + } if (config->filters) { array_list_delete(config->filters); }