PKGBUILDs/extra/alpine/CVE-2008-5514.patch

21 lines
634 B
Diff
Raw Normal View History

2009-10-10 02:23:22 +00:00
--- alpine-2.00/imap/src/c-client/rfc822.c
+++ alpine-2.00/imap/src/c-client/rfc822.c
@@ -1351,6 +1351,7 @@
static long rfc822_output_char (RFC822BUFFER *buf,int c)
{
+ if ((buf->cur == buf->end) && !rfc822_output_flush (buf)) return NIL;
*buf->cur++ = c; /* add character, soutr buffer if full */
return (buf->cur == buf->end) ? rfc822_output_flush (buf) : LONGT;
}
@@ -1374,7 +1375,8 @@
len -= i;
}
/* soutr buffer now if full */
- if (len && !rfc822_output_flush (buf)) return NIL;
+ if ((len || (buf->cur == buf->end)) && !rfc822_output_flush (buf))
+ return NIL;
}
return LONGT;
}