comparison src/http/modules/ngx_http_proxy_module.c @ 7473:8981dbb12254

SSL: fixed potential leak on memory allocation errors. If ngx_pool_cleanup_add() fails, we have to clean just created SSL context manually, thus appropriate call added. Additionally, ngx_pool_cleanup_add() moved closer to ngx_ssl_create() in the ngx_http_ssl_module, to make sure there are no leaks due to intermediate code.
author Maxim Dounin <mdounin@mdounin.ru>
date Sun, 03 Mar 2019 16:48:39 +0300
parents 8b68d50090e4
children 9afa45068b8f
comparison
equal deleted inserted replaced
7472:d430babbe643 7473:8981dbb12254
4268 return NGX_ERROR; 4268 return NGX_ERROR;
4269 } 4269 }
4270 4270
4271 cln = ngx_pool_cleanup_add(cf->pool, 0); 4271 cln = ngx_pool_cleanup_add(cf->pool, 0);
4272 if (cln == NULL) { 4272 if (cln == NULL) {
4273 ngx_ssl_cleanup_ctx(plcf->upstream.ssl);
4273 return NGX_ERROR; 4274 return NGX_ERROR;
4274 } 4275 }
4275 4276
4276 cln->handler = ngx_ssl_cleanup_ctx; 4277 cln->handler = ngx_ssl_cleanup_ctx;
4277 cln->data = plcf->upstream.ssl; 4278 cln->data = plcf->upstream.ssl;