mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 17:52:38 +08:00
Realip: fixed uninitialized memory access.
Previously, the realip module could be left with uninitialized context after an error in the ngx_http_realip_set_addr() function. That context could be later accessed by $realip_remote_addr and $realip_remote_port variable handlers.
This commit is contained in:
parent
048ee94130
commit
c6ba4aae38
@ -264,7 +264,6 @@ ngx_http_realip_set_addr(ngx_http_request_t *r, ngx_addr_t *addr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ctx = cln->data;
|
ctx = cln->data;
|
||||||
ngx_http_set_ctx(r, ctx, ngx_http_realip_module);
|
|
||||||
|
|
||||||
c = r->connection;
|
c = r->connection;
|
||||||
|
|
||||||
@ -282,6 +281,7 @@ ngx_http_realip_set_addr(ngx_http_request_t *r, ngx_addr_t *addr)
|
|||||||
ngx_memcpy(p, text, len);
|
ngx_memcpy(p, text, len);
|
||||||
|
|
||||||
cln->handler = ngx_http_realip_cleanup;
|
cln->handler = ngx_http_realip_cleanup;
|
||||||
|
ngx_http_set_ctx(r, ctx, ngx_http_realip_module);
|
||||||
|
|
||||||
ctx->connection = c;
|
ctx->connection = c;
|
||||||
ctx->sockaddr = c->sockaddr;
|
ctx->sockaddr = c->sockaddr;
|
||||||
|
Loading…
Reference in New Issue
Block a user