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.
This commit is contained in:
parent
5afdcc4fc5
commit
b24b30e74a
|
@ -679,6 +679,11 @@ ngx_mail_smtp_mail(ngx_mail_session_t *s, ngx_connection_t *c)
|
|||
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 @@ ngx_mail_smtp_rcpt(ngx_mail_session_t *s, ngx_connection_t *c)
|
|||
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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue