[Midnightbsd-cvs] mports: mail/fetchmail: security fix: potential crash in -v -v verbose
crash at midnightbsd.org
crash at midnightbsd.org
Sun Jul 13 16:53:06 EDT 2008
Log Message:
-----------
security fix: potential crash in -v -v verbose mode
Modified Files:
--------------
mports/mail/fetchmail:
Makefile (r1.9 -> r1.10)
Added Files:
-----------
mports/mail/fetchmail/files:
patch-CVE-2008-2711 (r1.1)
-------------- next part --------------
Index: Makefile
===================================================================
RCS file: /home/cvs/mports/mail/fetchmail/Makefile,v
retrieving revision 1.9
retrieving revision 1.10
diff -L mail/fetchmail/Makefile -L mail/fetchmail/Makefile -u -r1.9 -r1.10
--- mail/fetchmail/Makefile
+++ mail/fetchmail/Makefile
@@ -12,7 +12,7 @@
PORTNAME= fetchmail
PORTVERSION= 6.3.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= mail ipv6
MASTER_SITES= ${MASTER_SITE_BERLIOS}
MASTER_SITE_SUBDIR= fetchmail
--- /dev/null
+++ mail/fetchmail/files/patch-CVE-2008-2711
@@ -0,0 +1,52 @@
+--- report.c.orig 2008-07-01 18:15:58.000000000 +0200
++++ report.c 2008-07-01 18:18:53.000000000 +0200
+@@ -238,11 +238,17 @@
+ 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 @@
+ partial_message_size += 2048;
+ partial_message = REALLOC (partial_message, partial_message_size);
+ }
+- va_end (args);
+ #else
+ for ( ; ; )
+ {
+@@ -304,12 +309,13 @@
+ rep_ensuresize();
+
+ #if defined(VA_START)
+- VA_START (args, message);
+ for ( ; ; )
+ {
++ VA_START(args, message);
+ n = vsnprintf (partial_message + partial_message_size_used,
+ partial_message_size - partial_message_size_used,
+ message, args);
++ va_end(args);
+
+ /* old glibc versions return -1 for truncation */
+ if (n >= 0
+@@ -322,7 +328,6 @@
+ partial_message_size += 2048;
+ partial_message = REALLOC (partial_message, partial_message_size);
+ }
+- va_end (args);
+ #else
+ for ( ; ; )
+ {
More information about the Midnightbsd-cvs
mailing list