comparison src/stream/ngx_stream_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 8acaa1161783
children 16a1adadf437
comparison
equal deleted inserted replaced
7472:d430babbe643 7473:8981dbb12254
2094 return NGX_ERROR; 2094 return NGX_ERROR;
2095 } 2095 }
2096 2096
2097 cln = ngx_pool_cleanup_add(cf->pool, 0); 2097 cln = ngx_pool_cleanup_add(cf->pool, 0);
2098 if (cln == NULL) { 2098 if (cln == NULL) {
2099 ngx_ssl_cleanup_ctx(pscf->ssl);
2099 return NGX_ERROR; 2100 return NGX_ERROR;
2100 } 2101 }
2101 2102
2102 cln->handler = ngx_ssl_cleanup_ctx; 2103 cln->handler = ngx_ssl_cleanup_ctx;
2103 cln->data = pscf->ssl; 2104 cln->data = pscf->ssl;