summaryrefslogtreecommitdiffstats
path: root/parse.c
diff options
context:
space:
mode:
authorKevin McCarthy <kevin@8t8.us>2020-12-21 15:34:58 -0800
committerKevin McCarthy <kevin@8t8.us>2020-12-22 18:12:24 -0800
commit03e17ef7f70279d36f95083fcb952b9f386256f7 (patch)
tree8f18998004beba815a280cb41db2edf1ab9c3cf9 /parse.c
parenta4a2a1ed7abf02507a35e2a6d49da102cbd117dd (diff)
Correct length to use LOFF_T.
This is a part two, made in master, to the stable branch commit 11b18027. These are mostly length adjustments to use LOFF_T, matching the BODY->length type. An argument could be made for size_t instead, and a few places in Mutt do assign between those types. I've used LOFF_T because off_t is a signed integer. Some changes in this commit affect loops that decrement a length pointer while > 0. Switching to a size_t could create a wraparound infinite loop bug. This also changes the Content-Length header parser to use atoll() intead of atol(). I noticed from the man page that atol() doesn't seem to return -1 on error. But I've kept the check anyway.
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/parse.c b/parse.c
index daa16f7c..9bf01338 100644
--- a/parse.c
+++ b/parse.c
@@ -1282,7 +1282,7 @@ int mutt_parse_rfc822_line (ENVELOPE *e, HEADER *hdr, char *line, char *p, short
{
if (hdr)
{
- if ((hdr->content->length = atol (p)) < 0)
+ if ((hdr->content->length = (LOFF_T) atoll (p)) < 0)
hdr->content->length = -1;
}
matched = 1;