diff src/http/ngx_http_script.c @ 5316:12dd27b74117

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.
author Valentin Bartenev <vbart@nginx.com>
date Tue, 06 Aug 2013 19:58:40 +0400
parents 4251e72b8bb4
children f1a91825730a
line wrap: on
line diff
--- 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_
     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;