From b0f62312e39d4cf35515838174f11c2f500c3c1f Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Wed, 3 Jul 2019 18:30:59 +0300 Subject: [PATCH] Fixed heap-buffer-overflow while importing module. This closes #187 issue on Github. --- njs/njs_module.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/njs/njs_module.c b/njs/njs_module.c index a012604c..ccfb39a4 100644 --- a/njs/njs_module.c +++ b/njs/njs_module.c @@ -341,13 +341,12 @@ njs_module_read(njs_vm_t *vm, int fd, nxt_str_t *text) goto fail; } - text->length = nxt_length(NJS_MODULE_START); - - if (S_ISREG(sb.st_mode) && sb.st_size) { - text->length += sb.st_size; + if (!S_ISREG(sb.st_mode)) { + goto fail; } - text->length += nxt_length(NJS_MODULE_END); + text->length = nxt_length(NJS_MODULE_START) + sb.st_size + + nxt_length(NJS_MODULE_END); text->start = nxt_mp_alloc(vm->mem_pool, text->length); if (text->start == NULL) { -- 2.47.3