From e85d90fbf37cbd5a3264a2debd9b51438836c729 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Wed, 8 Oct 2025 01:51:15 +0200 Subject: Free chunk/step user data on context free So far, users had no way to free user-defined data allocated inside the chunk/step function pointers whenever an error occurred. Now, the free callback can be also used in conjunction with chunk/step, so that user-defined data is now deallocated when the operation finishes (in the case of chunk-encoded data) or an error occurs. --- http.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'http.c') diff --git a/http.c b/http.c index 21966bc..6410192 100644 --- a/http.c +++ b/http.c @@ -792,7 +792,7 @@ static int write_ctx_free(struct write_ctx *const w) const struct http_response *const r = &w->r; if (r->free) - r->free(r->buf.rw); + r->free(r->args ? r->args : r->buf.rw); if (r->f && (ret = fclose(r->f))) fprintf(stderr, "%s: fclose(3): %s\n", __func__, strerror(errno)); -- cgit v1.2.3