From: Dmitry Volyntsev Date: Wed, 3 Jul 2019 15:30:59 +0000 (+0300) Subject: Fixed heap-buffer-overflow while importing module. X-Git-Tag: 0.3.4~99 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=b0f62312e39d4cf35515838174f11c2f500c3c1f;p=njs.git Fixed heap-buffer-overflow while importing module. This closes #187 issue on Github. --- 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) {