Hello!

On Fri, Oct 23, 2015 at 10:01:34AM -0400, de_nginx_noob wrote:

> After compiling a test module that sets a variable equal to "test
> successful", I get a "directive is duplicate in (path to conf file)"

[...]

>       conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_netacuity_conf_t));
>       if(conf == NULL) {
>               return NULL;
>       }
>       conf->featureCode = NGX_CONF_UNSET_UINT;

Note: featureCode is initialized to NGX_CONF_UNSET_UINT, while 
it's defined as ngx_int_t.

The NGX_CONF_UNSET_UINT macro is (ngx_uint_t) -1, that is, it's 
maximum value representable in the ngx_uint_t type.  Assigning it 
to an ngx_int_t variable will result in integer overflow and the 
behaviour is undefined.  Depending on your C compiler and various 
other factors this may or may not work (or may wipe your hard 
disk).

Correct macro to use here is NGX_CONF_UNSET.

-- 
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to