[nginx] setting variable cause core when used by lua
soul11201
soul11201 at gmail.com
Thu Feb 16 09:26:40 UTC 2017
i think this is a feature not a bug
2017-02-16 16:01 GMT+08:00 洪志道 <hongzhidao at gmail.com>:
> 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.
>>
>
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel
>
--
-----
http://blog.soul11201.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20170216/d68a5c61/attachment.html>
More information about the nginx-devel
mailing list