diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2013-09-30 22:10:13 +0400 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2013-09-30 22:10:13 +0400 |
| commit | 2638cef71962fc49d57dc5d8977c4984a631a7ea (patch) | |
| tree | 9fa86e36d8b5fbe552d2ca859419b8715a50e572 | |
| parent | 9f97a0c4f9dcf71279c283098ee4bf8c0e03c65a (diff) | |
| download | nginx-2638cef71962fc49d57dc5d8977c4984a631a7ea.tar.gz nginx-2638cef71962fc49d57dc5d8977c4984a631a7ea.tar.bz2 | |
Mail: fixed segfault with ssl/starttls at mail{} level and no cert.
A configuration like "mail { starttls on; server {}}" triggered NULL
pointer dereference in ngx_mail_ssl_merge_conf() as conf->file was not set.
| -rw-r--r-- | src/mail/ngx_mail_ssl_module.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mail/ngx_mail_ssl_module.c b/src/mail/ngx_mail_ssl_module.c index dd6f2ac41..60e7a9a88 100644 --- a/src/mail/ngx_mail_ssl_module.c +++ b/src/mail/ngx_mail_ssl_module.c @@ -235,6 +235,11 @@ ngx_mail_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child) mode = ""; } + if (conf->file == NULL) { + conf->file = prev->file; + conf->line = prev->line; + } + if (*mode) { if (conf->certificate.len == 0) { |
