1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-18 16:29:36 +01:00

Merge pull request #14573 from corngood/libexpr-leak

nix_api_expr: ensure destructors are called for builder/state
This commit is contained in:
John Ericson 2025-11-16 04:28:08 +00:00 committed by GitHub
commit aec59a973a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -137,6 +137,8 @@ nix_eval_state_builder * nix_eval_state_builder_new(nix_c_context * context, Sto
void nix_eval_state_builder_free(nix_eval_state_builder * builder) void nix_eval_state_builder_free(nix_eval_state_builder * builder)
{ {
if (builder)
builder->~nix_eval_state_builder();
operator delete(builder, static_cast<std::align_val_t>(alignof(nix_eval_state_builder))); operator delete(builder, static_cast<std::align_val_t>(alignof(nix_eval_state_builder)));
} }
@ -203,6 +205,8 @@ EvalState * nix_state_create(nix_c_context * context, const char ** lookupPath_c
void nix_state_free(EvalState * state) void nix_state_free(EvalState * state)
{ {
if (state)
state->~EvalState();
operator delete(state, static_cast<std::align_val_t>(alignof(EvalState))); operator delete(state, static_cast<std::align_val_t>(alignof(EvalState)));
} }