# HG changeset patch # User Andreas Schwab # Date 1256160539 0 # Node ID a08904175e1a7672edf42763e4e3aa63b91f97ab # Parent 136cf2d23c908d78f325e5f9f25053536d4ce26c (doprnt): Fix overflow check. diff -r 136cf2d23c90 -r a08904175e1a src/ChangeLog --- a/src/ChangeLog Wed Oct 21 20:03:57 2009 +0000 +++ b/src/ChangeLog Wed Oct 21 21:28:59 2009 +0000 @@ -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 -r 136cf2d23c90 -r a08904175e1a src/doprnt.c --- a/src/doprnt.c Wed Oct 21 20:03:57 2009 +0000 +++ b/src/doprnt.c Wed Oct 21 21:28:59 2009 +0000 @@ -126,9 +126,9 @@ 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; }