From cf72935bc3b76fcf103d7728b6f0cfb807cc1984 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Sat, 17 Feb 2007 21:06:47 +0000 Subject: [PATCH] a client address must be allocated from a connection pool to live through the keep-alive requests --- src/http/modules/ngx_http_realip_module.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/http/modules/ngx_http_realip_module.c b/src/http/modules/ngx_http_realip_module.c index bd5c31cdc..ffb2028bf 100644 --- a/src/http/modules/ngx_http_realip_module.c +++ b/src/http/modules/ngx_http_realip_module.c @@ -163,10 +163,17 @@ ngx_http_realip_handler(ngx_http_request_t *r) return NGX_DECLINED; } + p = ngx_palloc(r->connection->pool, len); + if (p == NULL) { + return NGX_HTTP_INTERNAL_SERVER_ERROR; + } + + ngx_memcpy(p, ip, len); + sin->sin_addr.s_addr = addr; r->connection->addr_text.len = len; - r->connection->addr_text.data = ip; + r->connection->addr_text.data = p; return NGX_DECLINED; }