aboutsummaryrefslogtreecommitdiff
path: root/mail/fetchmail
diff options
context:
space:
mode:
authorSimon Barner <barner@FreeBSD.org>2008-06-20 07:46:50 +0000
committerSimon Barner <barner@FreeBSD.org>2008-06-20 07:46:50 +0000
commite71d8331aa2cdb4e1a0623887798b32216e21096 (patch)
treebbf47aeb7f37fd8b04f6f3b3202b3753c4fa71cd /mail/fetchmail
parent107896899977f970d40a9c2b58bdb39ee0eabec0 (diff)
downloadports-e71d8331aa2cdb4e1a0623887798b32216e21096.tar.gz
ports-e71d8331aa2cdb4e1a0623887798b32216e21096.zip
- Security fix: potential crash in -v -v verbose mode.
- Bump port revision PR: ports/124718 Submitted by: Matthias Andree <matthias.andree@gmx.de> Security: http://www.vuxml.org/freebsd/168190df-3e9a-11dd-87bc-000ea69a5213.html Security: CVE-2008-2711
Notes
Notes: svn path=/head/; revision=215322
Diffstat (limited to 'mail/fetchmail')
-rw-r--r--mail/fetchmail/Makefile2
-rw-r--r--mail/fetchmail/files/patch-CVE-2008-271131
2 files changed, 32 insertions, 1 deletions
diff --git a/mail/fetchmail/Makefile b/mail/fetchmail/Makefile
index 9a5955493320..5c5bf8667d46 100644
--- a/mail/fetchmail/Makefile
+++ b/mail/fetchmail/Makefile
@@ -11,7 +11,7 @@
PORTNAME= fetchmail
PORTVERSION= 6.3.8
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= mail ipv6
MASTER_SITES= ${MASTER_SITE_BERLIOS} \
${MASTER_SITE_SUNSITE:S/$/:sunsite/}\
diff --git a/mail/fetchmail/files/patch-CVE-2008-2711 b/mail/fetchmail/files/patch-CVE-2008-2711
new file mode 100644
index 000000000000..a8514ac2ff47
--- /dev/null
+++ b/mail/fetchmail/files/patch-CVE-2008-2711
@@ -0,0 +1,31 @@
+diff --git a/report.c b/report.c
+index 31d4e48..2a731ac 100644
+--- ./report.c~
++++ ./report.c
+@@ -238,11 +238,17 @@ report_build (FILE *errfp, message, va_alist)
+ rep_ensuresize();
+
+ #if defined(VA_START)
+- VA_START (args, message);
+ for ( ; ; )
+ {
++ /*
++ * args has to be initialized before every call of vsnprintf(),
++ * because vsnprintf() invokes va_arg macro and thus args is
++ * undefined after the call.
++ */
++ VA_START(args, message);
+ n = vsnprintf (partial_message + partial_message_size_used, partial_message_size - partial_message_size_used,
+ message, args);
++ va_end (args);
+
+ if (n >= 0
+ && (unsigned)n < partial_message_size - partial_message_size_used)
+@@ -254,7 +260,6 @@ report_build (FILE *errfp, message, va_alist)
+ partial_message_size += 2048;
+ partial_message = REALLOC (partial_message, partial_message_size);
+ }
+- va_end (args);
+ #else
+ for ( ; ; )
+ {