Welcome! Log In Create A New Profile

Advanced

[njs] Modules: setting retval to undefined for functions returning nothing.

Dmitry Volyntsev
April 30, 2020 06:14AM
details: https://hg.nginx.org/njs/rev/d47d99d15d2b
branches:
changeset: 1385:d47d99d15d2b
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Thu Apr 30 10:11:33 2020 +0000
description:
Modules: setting retval to undefined for functions returning nothing.

This fixes #305 issue on Github.

diffstat:

nginx/ngx_http_js_module.c | 12 ++++++++++++
nginx/ngx_stream_js_module.c | 10 ++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)

diffs (105 lines):

diff -r 9e1caca2ee71 -r d47d99d15d2b nginx/ngx_http_js_module.c
--- a/nginx/ngx_http_js_module.c Thu Apr 30 09:44:00 2020 +0000
+++ b/nginx/ngx_http_js_module.c Thu Apr 30 10:11:33 2020 +0000
@@ -1546,6 +1546,8 @@ ngx_http_js_ext_send_header(njs_vm_t *vm
return NJS_ERROR;
}

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -1621,6 +1623,8 @@ ngx_http_js_ext_send(njs_vm_t *vm, njs_v
return NJS_ERROR;
}

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -1646,6 +1650,8 @@ ngx_http_js_ext_finish(njs_vm_t *vm, njs

ctx->status = NGX_OK;

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -1704,6 +1710,8 @@ ngx_http_js_ext_return(njs_vm_t *vm, njs
ctx->status = status;
}

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -1739,6 +1747,8 @@ ngx_http_js_ext_internal_redirect(njs_vm

ctx->status = NGX_DONE;

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -1772,6 +1782,8 @@ ngx_http_js_ext_log(njs_vm_t *vm, njs_va

c->log->handler = handler;

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

diff -r 9e1caca2ee71 -r d47d99d15d2b nginx/ngx_stream_js_module.c
--- a/nginx/ngx_stream_js_module.c Thu Apr 30 09:44:00 2020 +0000
+++ b/nginx/ngx_stream_js_module.c Thu Apr 30 10:11:33 2020 +0000
@@ -956,6 +956,8 @@ ngx_stream_js_ext_done(njs_vm_t *vm, njs
ctx->download_event = NULL;
}

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -990,6 +992,8 @@ ngx_stream_js_ext_log(njs_vm_t *vm, njs_

c->log->handler = handler;

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -1038,6 +1042,8 @@ ngx_stream_js_ext_on(njs_vm_t *vm, njs_v
return NJS_ERROR;
}

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -1072,6 +1078,8 @@ ngx_stream_js_ext_off(njs_vm_t *vm, njs_

*event = NULL;

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

@@ -1153,6 +1161,8 @@ ngx_stream_js_ext_send(njs_vm_t *vm, njs
*ctx->last_out = cl;
ctx->last_out = &cl->next;

+ njs_value_undefined_set(njs_vm_retval(vm));
+
return NJS_OK;
}

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Modules: setting retval to undefined for functions returning nothing.

Dmitry Volyntsev 112 April 30, 2020 06:14AM



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

Online Users

Guests: 94
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready