changeset 2623:75221283a3e2

Modules: fixed memory leak when module loading failed.
author Dmitry Volyntsev <xeioex@nginx.com>
date Wed, 01 Oct 2025 20:23:08 -0700
parents a708e9f87973
children e08b3ffa9536
files nginx/ngx_js.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/nginx/ngx_js.c	Wed Oct 01 20:10:43 2025 -0700
+++ b/nginx/ngx_js.c	Wed Oct 01 20:23:08 2025 -0700
@@ -571,6 +571,7 @@
 
     rc = ngx_js_set_cwd(njs_vm_memory_pool(vm), opts->conf, &vm_options.file);
     if (rc != NGX_OK) {
+        njs_vm_destroy(vm);
         return NGX_ERROR;
     }
 
@@ -665,6 +666,7 @@
 
     engine = njs_mp_alloc(njs_vm_memory_pool(vm), sizeof(ngx_engine_t));
     if (engine == NULL) {
+        njs_vm_destroy(vm);
         return NULL;
     }
 
@@ -677,6 +679,8 @@
 
         ngx_log_error(NGX_LOG_ERR, ctx->log, 0, "js exception: %V", &exception);
 
+        njs_vm_destroy(vm);
+
         return NULL;
     }