Mercurial > hg > nginx
changeset 5703:7deb01451486
Mail: added a check for the number of arguments in MAIL/RCPT.
Missed during introduction of the SMTP pipelining support (04e43d03e153,
1.5.6). Previously, the check wasn't needed as s->buffer was used directly
and the number of arguments didn't matter.
Reported by Svyatoslav Nikolsky.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 21 May 2014 21:56:20 +0400 |
parents | 777202558122 |
children | 524741fd50ed |
files | src/mail/ngx_mail_smtp_handler.c |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mail/ngx_mail_smtp_handler.c Mon May 12 16:34:15 2014 +0400 +++ b/src/mail/ngx_mail_smtp_handler.c Wed May 21 21:56:20 2014 +0400 @@ -679,6 +679,11 @@ return NGX_OK; } + if (s->args.nelts == 0) { + ngx_str_set(&s->out, smtp_invalid_argument); + return NGX_OK; + } + arg = s->args.elts; arg += s->args.nelts - 1; @@ -713,6 +718,11 @@ return NGX_OK; } + if (s->args.nelts == 0) { + ngx_str_set(&s->out, smtp_invalid_argument); + return NGX_OK; + } + arg = s->args.elts; arg += s->args.nelts - 1;