Move va_start and va_end around so it doesn't crash. Doesn't crash on NetBSD in any case, but other s are less forgiving. The former code definitely violated the interface spec, so it needed fixing. Bug-finder credit for this one to Marcus Comstedt .