Mercurial > hg > nginx
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; |