aboutsummaryrefslogtreecommitdiff
path: root/nginx/ngx_http_js_module.c
diff options
context:
space:
mode:
Diffstat (limited to 'nginx/ngx_http_js_module.c')
-rw-r--r--nginx/ngx_http_js_module.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/nginx/ngx_http_js_module.c b/nginx/ngx_http_js_module.c
index ff6a5943..b0ac8471 100644
--- a/nginx/ngx_http_js_module.c
+++ b/nginx/ngx_http_js_module.c
@@ -1657,6 +1657,7 @@ ngx_http_js_ext_set_variable(njs_vm_t *vm, void *obj, uintptr_t data,
if (v->set_handler != NULL) {
vv = ngx_pcalloc(r->pool, sizeof(ngx_http_variable_value_t));
if (vv == NULL) {
+ njs_vm_error(vm, "internal error");
return NJS_ERROR;
}
@@ -1682,6 +1683,7 @@ ngx_http_js_ext_set_variable(njs_vm_t *vm, void *obj, uintptr_t data,
vv->data = ngx_pnalloc(r->pool, value->length);
if (vv->data == NULL) {
+ njs_vm_error(vm, "internal error");
return NJS_ERROR;
}
@@ -1864,19 +1866,19 @@ ngx_http_js_ext_subrequest(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs,
if (has_body) {
rb = ngx_pcalloc(r->pool, sizeof(ngx_http_request_body_t));
if (rb == NULL) {
- return NJS_ERROR;
+ goto memory_error;
}
rb->bufs = ngx_alloc_chain_link(r->pool);
if (rb->bufs == NULL) {
- return NJS_ERROR;
+ goto memory_error;
}
rb->bufs->next = NULL;
rb->bufs->buf = ngx_calloc_buf(r->pool);
if (rb->bufs->buf == NULL) {
- return NJS_ERROR;
+ goto memory_error;
}
rb->bufs->buf->memory = 1;
@@ -1891,6 +1893,12 @@ ngx_http_js_ext_subrequest(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs,
}
return NJS_OK;
+
+memory_error:
+
+ njs_vm_error(ctx->vm, "internal error");
+
+ return NJS_ERROR;
}