summaryrefslogtreecommitdiffstats
path: root/imap
diff options
context:
space:
mode:
Diffstat (limited to 'imap')
-rw-r--r--imap/command.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/imap/command.c b/imap/command.c
index c607fcad..46f07bb0 100644
--- a/imap/command.c
+++ b/imap/command.c
@@ -933,6 +933,7 @@ static void cmd_parse_status (IMAP_DATA* idata, char* s)
char* value;
BUFFY* inc;
IMAP_MBOX mx;
+ unsigned long ulcount;
unsigned int count;
IMAP_STATUS *status;
unsigned int olduv, oldun;
@@ -977,12 +978,14 @@ static void cmd_parse_status (IMAP_DATA* idata, char* s)
value = imap_next_word (s);
errno = 0;
- count = strtoul (value, &value, 10);
- if (errno == ERANGE && count == ULONG_MAX)
+ ulcount = strtoul (value, &value, 10);
+ if ((errno == ERANGE && ulcount == ULONG_MAX) ||
+ ((unsigned int) ulcount != ulcount))
{
dprint (1, (debugfile, "Error parsing STATUS number\n"));
return;
}
+ count = (unsigned int) ulcount;
if (!ascii_strncmp ("MESSAGES", s, 8))
{