From d76b6ae2ad6a61e02daa642ee8a562f7c324f477 Mon Sep 17 00:00:00 2001 From: Andreas Gustafsson Date: Wed, 16 May 2001 00:52:55 +0000 Subject: [PATCH] isc_print_vsnprintf() could throw an assertion failure when given a %lld format, causing a deadlock when logging the assertion if invoked from the logging system. Since the %qd format does not have the bug, this only affects platforms where the native quad format is %lld and that lack a native vsnprintf(). The only known such platform is SunOS 5.5.1. [RT #1312] --- lib/isc/print.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/isc/print.c b/lib/isc/print.c index ca37ff1015..53dc52752a 100644 --- a/lib/isc/print.c +++ b/lib/isc/print.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: print.c,v 1.21 2001/02/22 19:12:56 gson Exp $ */ +/* $Id: print.c,v 1.22 2001/05/16 00:52:55 gson Exp $ */ #include @@ -180,8 +180,10 @@ isc_print_vsnprintf(char *str, size_t size, const char *format, va_list ap) { case 'l': l = 1; format++; - if (*format == 'l') + if (*format == 'l') { q = 1; + format++; + } goto doint; case 'n': case 'i':