summaryrefslogtreecommitdiffstats
path: root/edit.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 /edit.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 'edit.c')
-rw-r--r--edit.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/edit.c b/edit.c
index b8f6b749..8bb8b636 100644
--- a/edit.c
+++ b/edit.c
@@ -63,7 +63,7 @@ static char* EditorHelp2 = N_("\
static char **
be_snarf_data (FILE *f, char **buf, int *bufmax, int *buflen, LOFF_T offset,
- int bytes, int prefix)
+ LOFF_T bytes, int prefix)
{
char tmp[HUGE_STRING];
char *p = tmp;
@@ -150,7 +150,8 @@ static char **
be_include_messages (char *msg, char **buf, int *bufmax, int *buflen,
int pfx, int inc_hdrs)
{
- int offset, bytes, n;
+ LOFF_T offset, bytes;
+ int n;
char tmp[LONG_STRING];
while ((msg = strtok (msg, " ,")) != NULL)