]> git.kaiwu.me - njs.git/commitdiff
Freeing code buffer after is was reallocated.
authorDmitry Volyntsev <xeioex@nginx.com>
Fri, 7 Dec 2018 15:33:52 +0000 (18:33 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Fri, 7 Dec 2018 15:33:52 +0000 (18:33 +0300)
Thanks to 洪志道 (Hong Zhi Dao).

njs/njs_generator.c

index 664f7ea2d9d897e7c12fe84b8a7f2f723ccd91c8..16a5378c020daaaa29035a0c23b6fb98569ca799 100644 (file)
@@ -452,6 +452,8 @@ njs_generate_reserve(njs_vm_t *vm, njs_generator_t *generator, size_t size)
     size = generator->code_end - generator->code_start;
     memcpy(p, generator->code_start, size);
 
+    nxt_mem_cache_free(vm->mem_cache_pool, generator->code_start);
+
     generator->code_start = p;
     generator->code_end = p + size;
 
@@ -2223,6 +2225,8 @@ njs_generate_function_scope(njs_vm_t *vm, njs_function_lambda_t *lambda,
         lambda->start = generator->code_start;
     }
 
+    nxt_mem_cache_free(vm->mem_cache_pool, generator);
+
     return ret;
 }