mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-15 23:55:03 +03:00
Merge pull request #50 from chaizhenhua/Bugfix
Fixed: Nginx crash in ngx_pool_context.c
This commit is contained in:
commit
e8189d97bc
@ -950,21 +950,22 @@ ngx_http_modsecurity_handler(ngx_http_request_t *r)
|
||||
return NGX_DECLINED;
|
||||
}
|
||||
|
||||
if (r->internal) {
|
||||
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "modSecurity: handler");
|
||||
|
||||
if (r->internal) {
|
||||
/* we have already processed the request headers with previous loc conf */
|
||||
|
||||
/* TODO: do we need update ctx and process headers again? */
|
||||
ctx = ngx_http_get_module_pool_ctx(r, ngx_http_modsecurity);
|
||||
|
||||
if (ctx == NULL) {
|
||||
return NGX_ERROR;
|
||||
if (ctx) {
|
||||
ngx_http_set_ctx(r, ctx, ngx_http_modsecurity);
|
||||
return NGX_DECLINED;
|
||||
}
|
||||
|
||||
ngx_http_set_ctx(r, ctx, ngx_http_modsecurity);
|
||||
|
||||
return NGX_DECLINED;
|
||||
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "modSecurity: get internel request ctx failed");
|
||||
}
|
||||
|
||||
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "modSecurity: handler");
|
||||
|
||||
ctx = ngx_http_modsecurity_create_ctx(r);
|
||||
if (ctx == NULL) {
|
||||
|
||||
@ -1084,8 +1085,6 @@ ngx_http_modsecurity_header_filter(ngx_http_request_t *r) {
|
||||
|
||||
ctx->complete = 1;
|
||||
|
||||
// TODO: do we need reload headers_in ?
|
||||
|
||||
if (ngx_http_modsecurity_load_headers_in(r) != NGX_OK
|
||||
|| ngx_http_modsecurity_load_headers_out(r) != NGX_OK) {
|
||||
|
||||
|
@ -200,7 +200,7 @@ ngx_pool_context_init_conf(ngx_cycle_t *cycle, void *conf)
|
||||
|
||||
ngx_pool_context_hash_size = pcf->size;
|
||||
|
||||
ngx_pool_context_hash = ngx_palloc(cycle->pool, sizeof(ngx_pool_context_node_t *) * ngx_pool_context_hash_size);
|
||||
ngx_pool_context_hash = ngx_pcalloc(cycle->pool, sizeof(ngx_pool_context_node_t *) * ngx_pool_context_hash_size);
|
||||
|
||||
if (ngx_pool_context_hash == NULL) {
|
||||
return NGX_CONF_ERROR;
|
||||
|
Loading…
x
Reference in New Issue
Block a user