From: Tor Lillqvist Date: Sun, 20 Aug 2006 13:39:48 +0000 (+0000) Subject: Fix crash when printing large 64-bit values on Win32 using the %I64x X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=0d37c815d90cf9a41be95f7fa9a91773e9770ea6;p=dana%2Fcg-glib.git Fix crash when printing large 64-bit values on Win32 using the %I64x 2006-08-20 Tor Lillqvist * glib/gnulib/vasnprintf.c (vasnprintf): Fix crash when printing large 64-bit values on Win32 using the %I64x format. (#351034, Neil Piercy) --- diff --git a/ChangeLog b/ChangeLog index cdd11954..4259a134 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-08-20 Tor Lillqvist + + * glib/gnulib/vasnprintf.c (vasnprintf): Fix crash when printing + large 64-bit values on Win32 using the %I64x format. (#351034, + Neil Piercy) + Wed Aug 16 13:59:07 2006 Tim Janik * tests/gobject/Makefile.am: diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index cdd11954..4259a134 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,9 @@ +2006-08-20 Tor Lillqvist + + * glib/gnulib/vasnprintf.c (vasnprintf): Fix crash when printing + large 64-bit values on Win32 using the %I64x format. (#351034, + Neil Piercy) + Wed Aug 16 13:59:07 2006 Tim Janik * tests/gobject/Makefile.am: diff --git a/glib/gnulib/vasnprintf.c b/glib/gnulib/vasnprintf.c index 1b468001..e279fc09 100644 --- a/glib/gnulib/vasnprintf.c +++ b/glib/gnulib/vasnprintf.c @@ -479,6 +479,16 @@ vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) + 1 /* turn floor into ceil */ + 2; /* account for leading sign or alternate form */ else +# endif +# ifdef HAVE_INT64_AND_I64 + if (type == TYPE_INT64 || type == TYPE_UINT64) + tmp_length = + (unsigned int) (sizeof (unsigned __int64) * CHAR_BIT + * 0.25 /* binary -> hexadecimal */ + ) + + 1 /* turn floor into ceil */ + + 2; /* account for leading sign or alternate form */ + else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length =