* stdio-common/vfprintf.c (vfprintf): Correct overflow test.
authorUlrich Drepper <drepper@redhat.com>
Sun, 30 Mar 2008 05:39:35 +0000 (05:39 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 30 Mar 2008 05:39:35 +0000 (05:39 +0000)
ChangeLog
stdio-common/vfprintf.c

index d1929ee..a43e7c6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2008-03-29  Ulrich Drepper  <drepper@redhat.com>
 
+       * stdio-common/vfprintf.c (vfprintf): Correct overflow test.
+
        [BZ #5939]
        * sysdeps/posix/tempname.c (__gen_tempname): Correct flag selection.
 
index d10a5c6..ca6343c 100644 (file)
@@ -1513,7 +1513,8 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
       if (prec > width
          && prec + 32 > (int)(sizeof (work_buffer) / sizeof (work_buffer[0])))
        {
-         if (__builtin_expect (prec > ~((size_t) 0) - 31, 0))
+         if (__builtin_expect (prec > ~((size_t) 0) / sizeof (CHAR_T) - 31,
+                               0))
            {
              done = -1;
              goto all_done;