aboutsummaryrefslogtreecommitdiff
path: root/src/imap/ngx_imap_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/imap/ngx_imap_parse.c')
-rw-r--r--src/imap/ngx_imap_parse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/imap/ngx_imap_parse.c b/src/imap/ngx_imap_parse.c
index e3923e892..374605ec5 100644
--- a/src/imap/ngx_imap_parse.c
+++ b/src/imap/ngx_imap_parse.c
@@ -252,7 +252,7 @@ ngx_int_t ngx_imap_parse_command(ngx_imap_session_t *s)
goto invalid;
case sw_literal_argument:
- if (--s->literal_len) {
+ if (s->literal_len && --s->literal_len) {
break;
}
@@ -281,7 +281,8 @@ ngx_int_t ngx_imap_parse_command(ngx_imap_session_t *s)
case LF:
goto done;
default:
- goto invalid;
+ state = sw_spaces_before_argument;
+ break;
}
break;