[nginx] setting variable cause core when used by lua
洪志道
hongzhidao at gmail.com
Thu Feb 16 08:01:34 UTC 2017
Sorry, sent too much.
2017-02-16 16:00 GMT+08:00 洪志道 <hongzhidao at gmail.com>:
> Hi!
>
> diff -r da46bfc484ef src/http/ngx_http_variables.c
> --- a/src/http/ngx_http_variables.c Mon Feb 13 21:45:01 2017 +0300
> +++ b/src/http/ngx_http_variables.c Wed Feb 08 10:31:53 2017 +0800
> @@ -783,6 +783,10 @@
> ssize_t s, *sp;
> ngx_str_t val;
>
> + if (v->data == NULL) {
> + return;
> + }
> +
> val.len = v->len;
> val.data = v->data;
>
>
> The following will cause core file, I think it's better to deal with in
> nginx.
>
> server {
> listen 8000;
>
> location / {
> content_by_lua_block {
> ngx.var.limit_rate = size; # size is undefined.
> ngx.say('hello lua');
> }
> }
>
>
> ============== set handler in lua-module ============
> if (value_type == LUA_TNIL) {
> vv->valid = 0;
> vv->not_found = 1;
> vv->no_cacheable = 0;
> vv->data = NULL;
> vv->len = 0;
>
> } else {
> vv->valid = 1;
> vv->not_found = 0;
> vv->no_cacheable = 0;
>
> vv->data = val;
> vv->len = len;
> }
>
> v->set_handler(r, vv, v->data);
> ===============================================
>
> Thanks.
> B.R.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20170216/c77698ad/attachment.html>
More information about the nginx-devel
mailing list