Welcome! Log In Create A New Profile

Advanced

[njs] Shell: fixed memory pool issues introduced in cb3e068a511c.

Dmitry Volyntsev
February 29, 2024 12:02PM
details: https://hg.nginx.org/njs/rev/46699330f4f2
branches:
changeset: 2292:46699330f4f2
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Tue Feb 27 23:25:05 2024 -0800
description:
Shell: fixed memory pool issues introduced in cb3e068a511c.

diffstat:

external/njs_shell.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)

diffs (52 lines):

diff -r e73d4947372d -r 46699330f4f2 external/njs_shell.c
--- a/external/njs_shell.c Tue Feb 27 23:24:55 2024 -0800
+++ b/external/njs_shell.c Tue Feb 27 23:25:05 2024 -0800
@@ -1270,7 +1270,7 @@ njs_module_loader(njs_vm_t *vm, njs_exte
return NULL;
}

- ret = njs_module_read(njs_vm_memory_pool(vm), info.fd, &text);
+ ret = njs_module_read(console->engine->pool, info.fd, &text);

(void) close(info.fd);

@@ -1293,10 +1293,10 @@ njs_module_loader(njs_vm_t *vm, njs_exte
module = njs_vm_compile_module(vm, &info.file, &start,
&text.start[text.length]);

- njs_mp_free(njs_vm_memory_pool(vm), console->cwd.start);
+ njs_mp_free(console->engine->pool, console->cwd.start);
console->cwd = prev_cwd;

- njs_mp_free(njs_vm_memory_pool(vm), text.start);
+ njs_mp_free(console->engine->pool, text.start);

return module;
}
@@ -3716,7 +3716,7 @@ njs_clear_timeout(njs_vm_t *vm, njs_valu
njs_queue_remove(&ev->link);
njs_rbtree_delete(&console->events, (njs_rbtree_part_t *) rb);

- njs_mp_free(console->engine->pool, ev);
+ njs_mp_free(njs_vm_memory_pool(vm), ev);

njs_value_undefined_set(retval);

@@ -3780,12 +3780,15 @@ njs_console_time(njs_console_t *console,
link = njs_queue_next(link);
}

- label = njs_mp_alloc(console->engine->pool, sizeof(njs_timelabel_t));
+ label = njs_mp_alloc(console->engine->pool,
+ sizeof(njs_timelabel_t) + name->length);
if (njs_slow_path(label == NULL)) {
return NJS_ERROR;
}

- label->name = *name;
+ label->name.start = (u_char *) label + sizeof(njs_timelabel_t);
+ memcpy(label->name.start, name->start, name->length);
+ label->name.length = name->length;
label->time = njs_time();

njs_queue_insert_tail(&console->labels, &label->link);
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Shell: fixed memory pool issues introduced in cb3e068a511c.

Dmitry Volyntsev 179 February 29, 2024 12:02PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 199
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready