Mercurial > hg > nginx-quic
comparison src/mail/ngx_mail_ssl_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 | 6708bec13757 |
children | ef7ee19776db |
comparison
equal
deleted
inserted
replaced
7472:d430babbe643 | 7473:8981dbb12254 |
---|---|
368 return NGX_CONF_ERROR; | 368 return NGX_CONF_ERROR; |
369 } | 369 } |
370 | 370 |
371 cln = ngx_pool_cleanup_add(cf->pool, 0); | 371 cln = ngx_pool_cleanup_add(cf->pool, 0); |
372 if (cln == NULL) { | 372 if (cln == NULL) { |
373 ngx_ssl_cleanup_ctx(&conf->ssl); | |
373 return NGX_CONF_ERROR; | 374 return NGX_CONF_ERROR; |
374 } | 375 } |
375 | 376 |
376 cln->handler = ngx_ssl_cleanup_ctx; | 377 cln->handler = ngx_ssl_cleanup_ctx; |
377 cln->data = &conf->ssl; | 378 cln->data = &conf->ssl; |