diff options
| author | Sergey Poznyakoff <gray@gnu.org> | 2020-09-05 10:24:15 +0300 |
|---|---|---|
| committer | Sergey Poznyakoff <gray@gnu.org> | 2020-09-05 10:24:15 +0300 |
| commit | dcba6221872d3f43b436a7cac301142f63d0286f (patch) | |
| tree | 8635ada1363e101cf7a2f0e9ed4ee348c057f5f5 | |
| parent | cd3a5a6d98e23e20e5fad3b5da108c4a11a9032d (diff) | |
| download | mailutils-dcba622187.tar.gz | |
Fix parsing of IMAP ranges with the lower value less than the actual message set minimum
* libmailutils/msgset/parse.c (get_msgnum): Make sure the returned
is in the [minval,maxval] interval.
| -rw-r--r-- | libmailutils/msgset/parse.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libmailutils/msgset/parse.c b/libmailutils/msgset/parse.c index 2d0362e..a249d3d 100644 --- a/libmailutils/msgset/parse.c +++ b/libmailutils/msgset/parse.c @@ -55,7 +55,9 @@ get_msgnum (struct parse_msgnum_env *env, size_t *pn) if (msgnum == ULONG_MAX && errno == ERANGE) return MU_ERR_PARSE; env->s = p; - if (env->msgset->mbox && env->maxval && msgnum > env->maxval) + if (env->minval && msgnum < env->minval) + msgnum = env->minval; + if (env->maxval && msgnum > env->maxval) msgnum = env->maxval; *pn = msgnum; return 0; |
