fix: memleak on lean_uv_dns_get_name error path (#12795)

This PR fixes a memory leak that gets triggered on the error path of
`lean_uv_dns_get_name`
This commit is contained in:
Henrik Böving 2026-03-04 20:56:43 +01:00 committed by GitHub
parent 10ece4e082
commit 5191b30b20
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -138,10 +138,6 @@ extern "C" LEAN_EXPORT lean_obj_res lean_uv_dns_get_name(b_obj_arg addr) {
int result = uv_getnameinfo(global_ev.loop, req, [](uv_getnameinfo_t* req, int status, const char* hostname, const char* service) {
lean_object* promise = (lean_object*) req->data;
lean_object * r = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(r, 0, lean_mk_string(hostname));
lean_ctor_set(r, 1, lean_mk_string(service));
if (status != 0) {
lean_promise_resolve_with_code(status, promise);
lean_dec(promise);
@ -149,6 +145,10 @@ extern "C" LEAN_EXPORT lean_obj_res lean_uv_dns_get_name(b_obj_arg addr) {
return;
}
lean_object * r = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(r, 0, lean_mk_string(hostname));
lean_ctor_set(r, 1, lean_mk_string(service));
lean_promise_resolve(mk_except_ok(r), promise);
lean_dec(promise);