1
0
mirror of https://github.com/facebook/zstd.git synced 2025-08-01 09:47:01 +03:00

Release resources in error paths via cleanup

Replace direct returns in error-handling branches with a unified
cleanup block that frees allocated resources before returning,
improving code quality and robustness.
This commit is contained in:
jinyaoguo
2025-06-04 18:08:11 -04:00
parent dd4cee9190
commit a81ffe11d4
3 changed files with 35 additions and 34 deletions

View File

@ -159,15 +159,15 @@ static result_t compress_cctx_compress(
return result_error(result_error_skip);
int const level = config_get_level(config);
result_t result;
ZSTD_CCtx* cctx = ZSTD_createCCtx();
ZSTD_DCtx* dctx = ZSTD_createDCtx();
if (cctx == NULL || dctx == NULL) {
fprintf(stderr, "context creation failed\n");
return result_error(result_error_system_error);
result = result_error(result_error_system_error);
goto out;
}
result_t result;
result_data_t data = {.total_size = 0};
for (size_t i = 0; i < state->inputs.size; ++i) {
data_buffer_t const input = state->inputs.buffers[i];