From 6cae39579b699d09b94a315483a9ac804b56fe34 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 22 Jan 2007 16:18:03 +0000 Subject: [BZ #3902] 2007-01-22 Ulrich Drepper [BZ #3902] * stdio-common/_itoa.c (_itoa): Make sure at least a zero is emitted. * stdio-common/Makefile (tests): Add bug17. * stdio-common/bug17.c: New file. --- stdio-common/_itoa.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'stdio-common/_itoa.c') diff --git a/stdio-common/_itoa.c b/stdio-common/_itoa.c index f61b23f..285fde2 100644 --- a/stdio-common/_itoa.c +++ b/stdio-common/_itoa.c @@ -1,5 +1,5 @@ /* Internal function for converting integers to ASCII. - Copyright (C) 1994, 1995, 1996, 1999, 2000, 2002, 2003, 2004 + Copyright (C) 1994, 1995, 1996, 1999, 2000, 2002, 2003, 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Torbjorn Granlund @@ -269,6 +269,7 @@ _itoa (value, buflim, base, upper_case) default: { + char *bufend = buflim; #if BITS_PER_MP_LIMB == 64 mp_limb_t base_multiplier = brec->base_multiplier; if (brec->flag) @@ -454,6 +455,8 @@ _itoa (value, buflim, base, upper_case) } while (n != 0); #endif + if (buflim == bufend) + *--buflim = '0'; } break; } -- cgit v1.1