diff options
Diffstat (limited to 'main/alpine/CVE-2008-5514.patch')
-rw-r--r-- | main/alpine/CVE-2008-5514.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/main/alpine/CVE-2008-5514.patch b/main/alpine/CVE-2008-5514.patch new file mode 100644 index 0000000000..594bea0b25 --- /dev/null +++ b/main/alpine/CVE-2008-5514.patch @@ -0,0 +1,20 @@ +--- 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; + } |