Collin Funk wrote: > I noticed that verror/error call va_end twice. Once in error_tail and > then again in the calling function.
Thanks! Yes, it is wrong to invoke va_end (args); inside error_tail, because ISO C 23 § 7.16.1 says (emphasis is mine): "Each invocation of the va_start and va_copy macros shall be matched by a corresponding invocation of the va_end macro *in the same function*." Likewise in ISO C 17 § 7.16.1, ISO C 11 § 7.16.1, and ISO C 99 § 7.15.1. AFAICS, glibc has this bug already since 2001. Can you please file a glibc bug for it? Bruno