From 268989432a747731efdef5241d5a686968bfe923 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 21 Oct 2009 21:28:59 +0000 Subject: [PATCH] (doprnt): Fix overflow check. --- src/ChangeLog | 4 ++++ src/doprnt.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 0e4d2d24b0c..8b309a7ebbf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2009-10-21 Andreas Schwab + + * doprnt.c (doprnt): Fix overflow check. + 2009-10-21 Jan Djärv * xterm.c (x_term_init): Remove XSynchronize call done for debugging. diff --git a/src/doprnt.c b/src/doprnt.c index 2d5b893dd20..7b089a941f8 100644 --- a/src/doprnt.c +++ b/src/doprnt.c @@ -126,9 +126,9 @@ doprnt (buffer, bufsize, format, format_end, nargs, args) unsigned n = *fmt - '0'; while ('0' <= fmt[1] && fmt[1] <= '9') { - if (n * 10 / 10 != n - || (n = n * 10 + (fmt[1] - '0')) < n) + if (n * 10 + fmt[1] - '0' < n) error ("Format width or precision too large"); + n = n * 10 + fmt[1] - '0'; *string++ = *++fmt; } -- 2.39.2