]> git.kaiwu.me - njs.git/commitdiff
Modules: setting retval to undefined for functions returning nothing.
authorDmitry Volyntsev <xeioex@nginx.com>
Thu, 30 Apr 2020 10:11:33 +0000 (10:11 +0000)
committerDmitry Volyntsev <xeioex@nginx.com>
Thu, 30 Apr 2020 10:11:33 +0000 (10:11 +0000)
This fixes #305 issue on Github.

nginx/ngx_http_js_module.c
nginx/ngx_stream_js_module.c

index d52a05eed5d01cbf69f2d9d42fe5da60a394d653..1aa6cf610afce753453d2f6b15d8145ab51c73a8 100644 (file)
@@ -1546,6 +1546,8 @@ ngx_http_js_ext_send_header(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         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_value_t *args, njs_uint_t nargs,
         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_value_t *args, njs_uint_t nargs,
 
     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_value_t *args, njs_uint_t nargs,
         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_t *vm, njs_value_t *args,
 
     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_value_t *args, njs_uint_t nargs,
 
     c->log->handler = handler;
 
+    njs_value_undefined_set(njs_vm_retval(vm));
+
     return NJS_OK;
 }
 
index 58c4acd9fff29af21ae78dd8cd648a73e3cc800a..5e71837ea3ccc10ea174764cd07207743306f5be 100644 (file)
@@ -956,6 +956,8 @@ ngx_stream_js_ext_done(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
         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_value_t *args, njs_uint_t nargs,
 
     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_value_t *args, njs_uint_t nargs,
         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_value_t *args, njs_uint_t nargs,
 
     *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_value_t *args, njs_uint_t nargs,
     *ctx->last_out = cl;
     ctx->last_out = &cl->next;
 
+    njs_value_undefined_set(njs_vm_retval(vm));
+
     return NJS_OK;
 }