aboutsummaryrefslogtreecommitdiffstats
path: root/report.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2008-06-24 13:06:51 +0000
committerMatthias Andree <matthias.andree@gmx.de>2008-06-24 13:06:51 +0000
commitf78abd402964b9fea113da5c7660b9dddaa0c06e (patch)
treeb93ba2359be8cf9dd4390f9d76121c159ab2db7d /report.c
parent2346deb7de255d0111290413b37ce8bd69d1ed3a (diff)
downloadfetchmail-f78abd402964b9fea113da5c7660b9dddaa0c06e.tar.gz
fetchmail-f78abd402964b9fea113da5c7660b9dddaa0c06e.tar.bz2
fetchmail-f78abd402964b9fea113da5c7660b9dddaa0c06e.zip
Fix one more CVE-2008-2711 va_start() messup. Found by Petr Uzel.
Bump release to -rc2. svn path=/branches/BRANCH_6-3/; revision=5205
Diffstat (limited to 'report.c')
-rw-r--r--report.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/report.c b/report.c
index 2a731acb..320e60be 100644
--- a/report.c
+++ b/report.c
@@ -309,12 +309,13 @@ report_complete (FILE *errfp, message, va_alist)
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
@@ -327,7 +328,6 @@ report_complete (FILE *errfp, message, va_alist)
partial_message_size += 2048;
partial_message = REALLOC (partial_message, partial_message_size);
}
- va_end (args);
#else
for ( ; ; )
{