From 3c5bd34771be032ef14e59f934058b3dce93588b Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Tue, 6 Aug 2013 19:58:40 +0400 Subject: Fixed memory leaks in the root and auth_basic_user_file directives. If a relative path is set by variables, then the ngx_conf_full_name() function was called while processing requests, which causes allocations from the cycle pool. A new function that takes pool as an argument was introduced. --- src/http/ngx_http_script.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/http/ngx_http_script.c') diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c index 54d019589..1da793b8f 100644 --- a/src/http/ngx_http_script.c +++ b/src/http/ngx_http_script.c @@ -1334,7 +1334,11 @@ ngx_http_script_full_name_code(ngx_http_script_engine_t *e) value.data = e->buf.data; value.len = e->pos - e->buf.data; - if (ngx_conf_full_name((ngx_cycle_t *) ngx_cycle, &value, code->conf_prefix) + if (ngx_get_full_name(e->request->pool, + code->conf_prefix + ? (ngx_str_t *) &ngx_cycle->conf_prefix: + (ngx_str_t *) &ngx_cycle->prefix, + &value) != NGX_OK) { e->ip = ngx_http_script_exit; -- cgit