--- nessus-core/nessus/auth.c 2007-08-31 23:12:36.000000000 +0200 +++ nessus-core/nessus/auth.c 2007-08-31 23:12:52.000000000 +0200 @@ -92,11 +92,11 @@ char * buffer = emalloc(s); int len, n = 0; signal(SIGPIPE, sighand_pipe); - va_start(param, data); for(;;) { + va_start(param, data); r = vsnprintf(buffer, s - 1, data, param); if(r >= 0 && r < s)break; s = r > s ? r + 2 : s * 2;