From cfdce92fa522999aa6a4d9334865f24e0ced2736 Mon Sep 17 00:00:00 2001 From: Jameson Nash Date: Thu, 25 Sep 2025 11:02:44 -0400 Subject: [PATCH] unix: fix uv__signal_loop_cleanup call in init (#4876) While unlikely that this fails (since it is implemented to call `abort()` instead of actually return an error code, we would theoretically leak this state. The process state init doesn't actually have a cleanup, and just awkwardly relies on uv_signal_close being unnecessary (which is likely true though). --- src/unix/loop.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/unix/loop.c b/src/unix/loop.c index 5d3f0c7a3..da9fa3c8b 100644 --- a/src/unix/loop.c +++ b/src/unix/loop.c @@ -83,7 +83,7 @@ int uv_loop_init(uv_loop_t* loop) { uv__signal_global_once_init(); err = uv__process_init(loop); if (err) - goto fail_signal_init; + goto fail_process_init; uv__queue_init(&loop->process_handles); err = uv_rwlock_init(&loop->cloexec_lock); @@ -110,9 +110,8 @@ fail_mutex_init: uv_rwlock_destroy(&loop->cloexec_lock); fail_rwlock_init: +fail_process_init: uv__signal_loop_cleanup(loop); - -fail_signal_init: uv__platform_loop_delete(loop); if (loop->backend_fd != -1) {