{
tmploc = loc + hdr->content->length;
- if (tmploc < ctx->size)
+ if (0 < tmploc && tmploc < ctx->size)
{
if (fseek (ctx->fp, tmploc, SEEK_SET) != 0 ||
fgets (buf, sizeof (buf) - 1, ctx->fp) == NULL ||
loc = ftell (ctx->fp);
tmploc = loc + curhdr->content->length + 1;
- if (tmploc < ctx->size)
+ if (0 < tmploc && tmploc < ctx->size)
{
/*
* check to see if the content-length looks valid. we expect to
else if (mutt_strcasecmp (line+8, "length") == 0)
{
if (hdr)
- hdr->content->length = atoi (p);
+ {
+ if ((hdr->content->length = atoi (p)) < 0)
+ hdr->content->length = -1;
+ }
matched = 1;
}
else if (mutt_strcasecmp (line+8, "description") == 0)