diff options
author | Nick Hadaway <raker@gentoo.org> | 2002-12-04 03:25:01 +0000 |
---|---|---|
committer | Nick Hadaway <raker@gentoo.org> | 2002-12-04 03:25:01 +0000 |
commit | 6b245406844fb9e764440ddacb5b478240e99dd6 (patch) | |
tree | c263ed640416335177aa3c2afd05fb10a3d2e227 /dev-libs/cyrus-imap-dev/files | |
parent | keyworded ~ppc and fixed altivec compile problem (diff) | |
download | gentoo-2-6b245406844fb9e764440ddacb5b478240e99dd6.tar.gz gentoo-2-6b245406844fb9e764440ddacb5b478240e99dd6.tar.bz2 gentoo-2-6b245406844fb9e764440ddacb5b478240e99dd6.zip |
Version bump.
Diffstat (limited to 'dev-libs/cyrus-imap-dev/files')
-rw-r--r-- | dev-libs/cyrus-imap-dev/files/digest-cyrus-imap-dev-2.1.10 | 1 | ||||
-rw-r--r-- | dev-libs/cyrus-imap-dev/files/imap-overflow.diff | 29 | ||||
-rw-r--r-- | dev-libs/cyrus-imap-dev/files/libsieve-overflow.diff | 53 |
3 files changed, 83 insertions, 0 deletions
diff --git a/dev-libs/cyrus-imap-dev/files/digest-cyrus-imap-dev-2.1.10 b/dev-libs/cyrus-imap-dev/files/digest-cyrus-imap-dev-2.1.10 new file mode 100644 index 000000000000..58264e839b62 --- /dev/null +++ b/dev-libs/cyrus-imap-dev/files/digest-cyrus-imap-dev-2.1.10 @@ -0,0 +1 @@ +MD5 5c7a6d97a472263aa8ade28c0d3c55cc cyrus-imapd-2.1.10.tar.gz 1636863 diff --git a/dev-libs/cyrus-imap-dev/files/imap-overflow.diff b/dev-libs/cyrus-imap-dev/files/imap-overflow.diff new file mode 100644 index 000000000000..c6ee0cac3864 --- /dev/null +++ b/dev-libs/cyrus-imap-dev/files/imap-overflow.diff @@ -0,0 +1,29 @@ +diff -urN cyrus-imapd-2.1.10/imap/imapparse.c cyrus-imapd-2.1.10-modified/imap/imapparse.c +--- cyrus-imapd-2.1.10/imap/imapparse.c 2002-12-03 17:08:02.000000000 -0600 ++++ cyrus-imapd-2.1.10-modified/imap/imapparse.c 2002-12-03 17:45:52.000000000 -0600 +@@ -97,7 +97,7 @@ + struct buf *buf, int type) + { + int c; +- int i; ++ unsigned int i; + unsigned int len = 0; + int sawdigit = 0; + int isnowait; +@@ -228,6 +228,16 @@ + if (c != EOF) prot_ungetc(c, pin); + return EOF; + } ++ if (len > 65536) { ++ if (isnowait) { ++ for (i = 0; i < len; i++) ++ c = prot_getc(pin); ++ } ++ prot_printf(pout, "* BAD Literal too large\r\n"); ++ prot_flush(pout); ++ if (c != EOF) prot_ungetc(c, pin); ++ return EOF; ++ } + if (len >= buf->alloc) { + buf->alloc = len+1; + buf->s = xrealloc(buf->s, buf->alloc+1); diff --git a/dev-libs/cyrus-imap-dev/files/libsieve-overflow.diff b/dev-libs/cyrus-imap-dev/files/libsieve-overflow.diff new file mode 100644 index 000000000000..6878a3074192 --- /dev/null +++ b/dev-libs/cyrus-imap-dev/files/libsieve-overflow.diff @@ -0,0 +1,53 @@ +diff -urN cyrus-imapd-2.1.10/sieve/addr.y cyrus-imapd-2.1.10-modified/sieve/addr.y +--- cyrus-imapd-2.1.10/sieve/addr.y 2002-12-03 17:08:02.000000000 -0600 ++++ cyrus-imapd-2.1.10-modified/sieve/addr.y 2002-12-03 17:06:38.000000000 -0600 +@@ -82,8 +82,9 @@ + /* copy address error message into buffer provided by sieve parser */ + int yyerror(char *s) + { +-extern char addrerr[]; ++extern char addrerr[512]; + +- strcpy(addrerr, s); ++ strncpy(addrerr, s, sizeof(addrerr)-1); ++ addrerr[sizeof(addrerr)-1] = '\0'; + return 0; + } +diff -urN cyrus-imapd-2.1.10/sieve/sieve.y cyrus-imapd-2.1.10-modified/sieve/sieve.y +--- cyrus-imapd-2.1.10/sieve/sieve.y 2002-12-03 17:08:02.000000000 -0600 ++++ cyrus-imapd-2.1.10-modified/sieve/sieve.y 2002-12-03 17:06:38.000000000 -0600 +@@ -810,7 +810,7 @@ + addrptr = s; + addrerr[0] = '\0'; /* paranoia */ + if (addrparse()) { +- sprintf(errbuf, "address '%s': %s", s, addrerr); ++ snprintf(errbuf, sizeof(errbuf), "address '%s': %s", s, addrerr); + yyerror(errbuf); + return 0; + } +@@ -835,7 +835,7 @@ + ; controls, SP, and + ; ":". */ + if (!((*h >= 33 && *h <= 57) || (*h >= 59 && *h <= 126))) { +- sprintf(errbuf, "header '%s': not a valid header", hdr); ++ snprintf(errbuf, sizeof(errbuf), "header '%s': not a valid header", hdr); + yyerror(errbuf); + return 0; + } +@@ -853,14 +853,14 @@ + if (strcmp(f, "\\seen") && strcmp(f, "\\answered") && + strcmp(f, "\\flagged") && strcmp(f, "\\draft") && + strcmp(f, "\\deleted")) { +- sprintf(errbuf, "flag '%s': not a system flag", f); ++ snprintf(errbuf, sizeof(errbuf), "flag '%s': not a system flag", f); + yyerror(errbuf); + return 0; + } + return 1; + } + if (!imparse_isatom(f)) { +- sprintf(errbuf, "flag '%s': not a valid keyword", f); ++ snprintf(errbuf, sizeof(errbuf), "flag '%s': not a valid keyword", f); + yyerror(errbuf); + return 0; + } |