From c91dcc4d0111c88084bc8ae4a1e07af1303ff920 Mon Sep 17 00:00:00 2001
From: Stephen Sinclair <radarsat1@gmail.com>
Date: Wed, 20 Aug 2008 17:05:18 -0400
Subject: [PATCH] Fix: in error message printing, don't reuse ap_list between va_start and va_end.

---
 v2/chuck_errmsg.cpp |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/v2/chuck_errmsg.cpp b/v2/chuck_errmsg.cpp
index 83c493b..fff7989 100755
--- a/v2/chuck_errmsg.cpp
+++ b/v2/chuck_errmsg.cpp
@@ -142,6 +142,8 @@ void EM_error( int pos, const char * message, ... )
     strcat( g_lasterror, " " );
     va_start(ap, message);
     vfprintf(stderr, message, ap);
+    va_end(ap);
+    va_start(ap, message);
     vsprintf( g_buffer, message, ap );
     va_end(ap);
     fprintf(stderr, "\n");
@@ -170,6 +172,8 @@ void EM_error2( int line, const char * message, ... )
 
     va_start( ap, message );
     vfprintf( stderr, message, ap );
+    va_end( ap );
+    va_start( ap, message );
     vsprintf( g_buffer, message, ap );
     va_end( ap );
 
@@ -199,6 +203,8 @@ void EM_error2b( int line, const char * message, ... )
 
     va_start( ap, message );
     vfprintf( stderr, message, ap );
+    va_end( ap );
+    va_start( ap, message );
     vsprintf( g_buffer, message, ap );
     va_end( ap );
 
@@ -218,6 +224,8 @@ void EM_error3( const char * message, ... )
 
     va_start( ap, message );
     vfprintf( stderr, message, ap );
+    va_end( ap );
+    va_start( ap, message );
     vsprintf( g_buffer, message, ap );
     va_end( ap );
 
-- 
1.5.6.GIT

